java - 在java中截断一个 float 和一个 double

标签 java floating-point double truncate

<分区>

我想在 java 中截断一个 float 和一个 double 值。

以下是我的要求: 1. 如果我有 12.49688f,它应该打印为 12.49 而不四舍五入 2.如果double是12.456,打印成12.45不四舍五入 3. 在任何情况下,如果值类似于 12.0,则应仅打印为 12。

条件3要始终牢记,它应该与截断逻辑并发。

最佳答案

试试这个-

DecimalFormat df = new DecimalFormat("##.##");
df.setRoundingMode(RoundingMode.DOWN);
System.out.println(df.format(12.49688f));
System.out.println(df.format(12.456));
System.out.println(df.format(12.0));

在这里,我们使用十进制格式化程序进行格式化。 roundmode 设置为 DOWN,这样它就不会自动舍入小数位。

预期的结果是:

12.49
12.45
12

关于java - 在java中截断一个 float 和一个 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10332546/

相关文章:

php - 比较 php 中的 float

c++ - 如果 std::numeric_limits<float>::is_iec559 为真,这是否意味着我可以以明确定义的方式提取指数和尾数?

python - 浮点到字符串往返测试

Excel VBA 使用运算符 <、>、>=、<= 和 double 作为函数参数

java - 将 double 转换为 BigDecimal 并设置 BigDecimal 精度

java - 同步获取 ConcurrentHashMap 引用?

java - 如何访问数组中的数组?

java - Hystrix 线程池属性

java - 如何使用 GSON 进行自定义序列化?

c++ - 用C++计算Ramanujan常数