static S formatDouble_significant2(double d, int digits) { try { digits -= max(0, Math.floor(Math.log10(abs(d))+1)); ret formatDouble(d, max(0, digits)); } on fail { print("Had number: " + d + ", digits: " + digits); } }