什么是限制双数字的聪明方法?

时间:2018-02-19 16:18:24

标签: java algorithm

我必须管理以下范围内的双打:

0,000001999.999,999999

我想要实现的是减少这个数字,只考虑6个更重要的数字。

这意味着数字:100.000,123 我想得到100.000

而号码为:12,123456 我想得到12,1234

0,123456 我想得到0,123456

0'000001 我想得到0'000001

任何聪明的程序都可以实现吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

我确定有一些聪明的方法可以使用正则表达式,但这是一种效率低下的方法:

double d = ...

String s = Double.toString(d);

s = s.substring(0, Math.min(s.startsWith("0") ? 8 : 7, s.length()));

d = Double.parseDouble(s);

应该可以使用现有的格式化程序,我会很快查看并在找到任何内容时更新此答案。