我正在編寫(xiě)一個(gè)數(shù)學(xué)函數(shù)來(lái)提供立方體的體積,以獲得每平方英寸重量(存儲(chǔ)為常量雙精度)的物體的總重量,0.28361111111111109這顯然是一個(gè)非常具體和精確的數(shù)字?;氐絾?wèn)題上來(lái),用這個(gè)數(shù)字計(jì)算方程是否比類(lèi)似的四舍五入版本更難,0.28461或者計(jì)算機(jī)處理計(jì)算的方式基本上沒(méi)有區(qū)別?精度是理想的,但不能以犧牲性能為代價(jià)。這對(duì)我來(lái)說(shuō)更具體地適用于 .NET 框架,但它可能更普遍地適用于編程。對(duì)于它特別值得的代碼是:public var Weight{ get { double weight_per_square_inch = 0.28361111111111109; double volume = this.Length * this.Thickness * this.Width; return (volume * weight_per_square_inch) * this.Quantity; }}
2 回答

DIEA
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您提高精度,雙精度數(shù)不會(huì)變慢,但可能無(wú)法正確保持小數(shù)點(diǎn)后 17 位。您需要查看其他類(lèi)型,例如Decimal,它速度較慢但支持您需要的高精度。

萬(wàn)千封印
TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您需要精度,那么您可以更改類(lèi)型Decimal
。當(dāng)我們?cè)趹?yīng)用程序中計(jì)算數(shù)百萬(wàn)個(gè)項(xiàng)目時(shí),我發(fā)現(xiàn)數(shù)字有很大差異。當(dāng)您進(jìn)行大量計(jì)算時(shí),小數(shù)值確實(shí)會(huì)產(chǎn)生影響。
但是,如果您需要性能,那么double
將是最合適的。
您可以根據(jù)您的業(yè)務(wù)需求決定選擇哪種類(lèi)型。
- 2 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)
0/150
提交
取消