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

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

HarmonyOS
2024-12-20 16:34:24
浏览
收藏 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
微信
回复
2024-12-20 18:32:15
相关问题
HarmonyOS number精度和位数限制问题
438浏览 • 1回复 待解决
HarmonyOS number字段精度丢失问题
1156浏览 • 1回复 待解决
HarmonyOS 基础类型Length计算
220浏览 • 1回复 待解决
HarmonyOS 滑动计算单位问题
538浏览 • 1回复 待解决
HarmonyOS crc32计算问题
434浏览 • 1回复 待解决
HarmonyOS JSON解析number丢失精度
795浏览 • 1回复 待解决
HarmonyOS Long类型精度丢失问题
515浏览 • 1回复 待解决
HarmonyOS 文件md5值计算问题
342浏览 • 1回复 待解决
HarmonyOS 文本计算不准
544浏览 • 1回复 待解决
HarmonyOS 文本高度计算问题
227浏览 • 1回复 待解决
HarmonyOS 小数点计算问题
225浏览 • 1回复 待解决
HarmonyOS newValue.width何时number类型
555浏览 • 1回复 待解决
移动边缘计算基本想法怎样
4251浏览 • 1回复 待解决