HarmonyOS 计算直接是转成number类型进行加减乘除吗?计算完数据有精度异常的问题怎么避免?

计算直接是转成number类型进行加减乘除吗?计算完数据有精度异常的问题怎么避免?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

由于数字都是双精度浮点数,在计算机中是二进制存储数据的,因此小数和非安全整数(超过整数的安全范围[-Math.pow(2, 53),Math.pow(2, 53)]的数据)在计算过程中会存在精度丢失的情况。

1、小数运算时:“0.2 + 2.22 = 2.4200000000000004”,可以将小数扩展到整数进行计算,计算完成之后再将结果缩小,计算过程为“(0.2 * 100 + 2.22 * 100) / 100 = 2.42”。

2、非安全整数运算时:“9007199254740992 + 1 = 9.007199254740992”,可以将长度超过15位的数字转换成科学计数法,计算结果为“9007199254740992 + 1 = 9.007199254740993e15”。参考官方demo链接:https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/tutorials_NEXT-SimpleCalculator

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS number字段精度丢失问题
763浏览 • 1回复 待解决
HarmonyOS 滑动计算单位问题
41浏览 • 1回复 待解决
HarmonyOS JSON解析number丢失精度
377浏览 • 1回复 待解决
HarmonyOS Long类型精度丢失问题
149浏览 • 1回复 待解决
HarmonyOS newValue.width何时number类型
238浏览 • 1回复 待解决
移动边缘计算基本想法怎样
3851浏览 • 1回复 待解决
百度地图坐标系影响距离计算
3139浏览 • 1回复 待解决
屏幕旋转计算,有什么好方案?
936浏览 • 1回复 待解决
HarmonyOS Text计算高度
58浏览 • 1回复 待解决
计算两个日期之间时间util接口
1824浏览 • 1回复 待解决
fileio.write写buffer数据有问题
4624浏览 • 1回复 待解决