第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何防止浮點(diǎn)變量在打印時(shí)顯示為科學(xué)記數(shù)法

如何防止浮點(diǎn)變量在打印時(shí)顯示為科學(xué)記數(shù)法

PHP
慕田峪7331174 2024-01-19 10:09:10
我使用“(float)$val”進(jìn)行一些計(jì)算,但是對于像-0.00000025478625 (float)-0.00000025478625這樣的小數(shù)值,結(jié)果是-2.5479E-70,我需要與-0.00000025478625相同的值,而不影響其他值場景。如何防止這種轉(zhuǎn)換?
查看完整描述

3 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

我認(rèn)為您誤解了浮動的表示。該值-2.5479E-70實(shí)際上仍然是科學(xué)表示中的浮點(diǎn)值。

這實(shí)際上意味著您的值非常小,因此出于可讀性原因,它以這種格式表示。要閱讀它,您可以將 替換E為以下數(shù)字的 10 次方乘積-2.5479 * 10^(-70)。所以這意味著你的浮點(diǎn)數(shù)前面有 70 個(gè)零(我不會在這里寫下來)。

例如-5.47E-4, which 與的結(jié)果-5.47 * 10^(-4)相同。-5.47/10000-0.000547

此外,對于打印,您的值已四舍五入。在內(nèi)部它仍然使用確切的值。因此,如果您在進(jìn)一步評估中使用這個(gè)數(shù)字,您不會失去任何準(zhǔn)確性。


查看完整回答
反對 回復(fù) 2024-01-19
?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

這就是浮點(diǎn)數(shù)的科學(xué)計(jì)數(shù)法。所以,如果你想格式化,那么你應(yīng)該使用number_format()函數(shù)。下面的示例第二個(gè)參數(shù)將告訴您需要什么精度。因此,根據(jù)您的示例,您應(yīng)該使用 14。

嘗試這個(gè):

$var = number_format((float)-0.00000025478625, 14);
print($var);


查看完整回答
反對 回復(fù) 2024-01-19
?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

請注意PHP 中的浮點(diǎn)數(shù)精度有限:

https://img1.sycdn.imooc.com/65a9d9f40001d25909140398.jpg

例如:

<?php
echo?number_format((float)?0.0000000000000000000000004,?50);

甚至

<?php
printf('%f15.50',?(float)?0.0000000000000000000000004);

你會得到這樣的結(jié)果(取決于系統(tǒng)):

0.00000000000000000000000040000000000000001539794790

這并不完全是要打印的原始浮點(diǎn)數(shù)。

你永遠(yuǎn)不能指望浮點(diǎn)數(shù)的準(zhǔn)確性。處理它們的最佳方法是始終將它們存儲為字符串,直到您需要完成一些計(jì)算為止。


查看完整回答
反對 回復(fù) 2024-01-19
  • 3 回答
  • 0 關(guān)注
  • 259 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號