js精度丟失解決辦法 在js數(shù)字類型中浮點(diǎn)數(shù)的最高精度多少位小數(shù)?
在js數(shù)字類型中浮點(diǎn)數(shù)的最高精度多少位小數(shù)?十進(jìn)制由C#中的浮點(diǎn)數(shù)據(jù)表示。浮點(diǎn)數(shù)據(jù)有兩種:單精度浮點(diǎn)(float)和雙精度浮點(diǎn)(double)。不同之處在于取值范圍和精度。浮點(diǎn)數(shù)據(jù)的計(jì)算速度遠(yuǎn)低于整數(shù)
在js數(shù)字類型中浮點(diǎn)數(shù)的最高精度多少位小數(shù)?
十進(jìn)制由C#中的浮點(diǎn)數(shù)據(jù)表示。浮點(diǎn)數(shù)據(jù)有兩種:單精度浮點(diǎn)(float)和雙精度浮點(diǎn)(double)。不同之處在于取值范圍和精度。浮點(diǎn)數(shù)據(jù)的計(jì)算速度遠(yuǎn)低于整數(shù)數(shù)據(jù),因此在精度要求較低的情況下可以采用單精度類型,在精度要求較高的情況下可以采用雙精度類型。
浮點(diǎn)類型為32位寬,雙精度類型為64位寬。
浮點(diǎn)數(shù)據(jù)的精度如下:
單精度:精度為7位數(shù)
雙精度:精度為15~16位數(shù)
我們需要將要計(jì)算的數(shù)字乘以10的n次方,將其轉(zhuǎn)換成計(jì)算機(jī)可以準(zhǔn)確識別的整數(shù),然后除以10的n次方。
例如,為了使0.1 0.2等于0.3,我們需要編寫如下代碼:
formatnum=function(F,digit){
var M=數(shù)學(xué).pow(10,數(shù)字)
return parseInt(f*m,10)/m
}
var num1=0.1
var num2=0.2
警報(bào)(formatNum(num1 num2,1)==0.3)