java - Java 删除尾随 0
问题描述
我想知道如何从我的 java 程序中的整数中删除尾随 0 例如:100.0 -> 100 但是,对于像 1285.71 这样的数字保持不变。
我只需要删除整数中的尾随 0,同时仍保留双精度值。我试过了:
double s = x / y;
String pattern = "0.#";
DecimalFormat decimalFormat = new DecimalFormat(pattern);
System.out.println(decimalFormat.format(Double.valueOf(s)) );
但是,它不起作用,我仍然在整数(100.0)之后得到烦人的 0 任何帮助或见解将不胜感激,为您的时间欢呼。
解决方案
因为您使用DecimalFormat来表示您的数字,所以关于该模式有几点需要记住:
0
– 如果提供,则打印一个数字,否则为 0#
– 如果提供,则打印一个数字,否则不打印.
– 指示放置小数点分隔符的位置,
– 指示在哪里放置分组分隔符
整数部分永远不会被丢弃。如果您提供这样的模式:"0.#"
,那么它将输出前缀和后缀中的第一个数字(如果它不为零)。例如,12345.5 将输出相同,但 12345.0 将输出 12345。
如果您在后缀后的数字超过您提供的后缀模式的数量,那么这些数字将被丢弃,例如您的模式是0.#"
并且您的输入是 123.45,那么输出将是 123.4。
然后您可以更改您的模式以"0.##"
使其适用于 100.0 和 1285.71
推荐阅读
- javascript - 如何使用 jquery 或 javascript 根据另一个组合框值制作组合框内容?
- c++ - 这个片段有什么作用?指向自身的静态指针
- javascript - 在异步模式下为 Python 创建锁定/解锁机制
- c++ - std::optional 作为 std::atomic 的模板参数
- scala - Sbt:从根项目调用子项目的源代码
- python - 为什么我的 Python 请求模块代码无法正常工作并让我自动登录 Reddit?它不断返回 400 响应
- python - 没有名为“tensorflow.python.ops.numpy_ops”的模块
- asp.net-mvc - 继续在谷歌文档查看器中停止的地方阅读 pdf
- java - 在 selenium Java 中使用内部 Web 元素属性检索 Web 元素
- javascript - 映射一个数组给了我一些数组的未定义,因为它们是空的