JavaScript 中的 toFixed() 和 Java 中的 DecimalFormat 之间的冲突
Conflicts between toFixed() in JavaScript and DecimalFormat in Java
我有一个数字 10.625
在 JavaScript 中
10.625.toFixed(2) //gives 10.63
在爪哇,
Double.valueOf(new DecimalFormat("###.##").format(Double.valueOf("10.625"))) //gives 10.62
如何在客户端和服务器端实现唯一的输出?
这将打印 10.63,转换回 Double 将基于此值。
DecimalFormat df = new DecimalFormat("###.##");
df.setRoundingMode(RoundingMode.HALF_UP);
System.out.println(df.format(Double.valueOf("10.625")));
协调客户端和服务器上数字视图的方法是在服务器上进行处理,并让客户端显示服务器发送的内容。
在服务器上使用 Java 版本,转换为 String
,然后将其发送到客户端。然后,您只需进行一次转换,并且不会发生冲突。
毕竟,客户端只是应该很好地查看服务器所做的事情。在客户端上重复计算不是考虑它的正确方法。
你可以将Math.round(value * 100) / 100
用于java和javascript。
BigDecimal bd = new BigDecimal("10.625");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
double value = Double.parseDouble(new DecimalFormat(".##").format(bd));
System.out.println(value);
还将打印 10.63
要捕获的一些重要信息:
- 由于您永远不想知道
.
之前有多少位数,因此您可以简单地使用.##
- 在
DecimalFormat
==>.##
格式将打印0.x0
到0.x
,而"0.00
"格式将打印0.x0
到0.x0
所以我更喜欢第二种格式
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 可以't让我的if语句处理js中的html表单输入
- 引用对象中的通用值
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 不能从angular2中的子组件指定父组件中的数组
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如何更改bigquery API中的计费层选项
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- 我如何找到一个句子中的所有空格并替换忽略它们
- zurb基础中的固定宽度立柱3
- JavaScript 中的 toFixed() 和 Java 中的 DecimalFormat 之间的冲突