Logo

Programming-Idioms

  • D
  • Fortran
  • C

Idiom #367 Find the next significant digit

Truncate a decimal value, x, to the first significant digit.

For example, `1.00123` is `1.001`.

https://en.wikipedia.org/wiki/Significant_figures

import static java.lang.System.out;
String s = "%f".formatted(x);
int i = s.indexOf('.') + 1, n = s.length();
while (i < n)
    if (s.charAt(i++) != '0')
        break;
s = s.substring(0, i);

New implementation...
< >
reilas