我試着做以下幾點:科C#Unpexpected結果
Math.Log10(11/10);
預期的答案0.04139268515822504075019997124302
C#的答案0.0
真是奇怪!我在尋找日誌時丟失了什麼?需要幫助
我試着做以下幾點:科C#Unpexpected結果
Math.Log10(11/10);
預期的答案0.04139268515822504075019997124302
C#的答案0.0
真是奇怪!我在尋找日誌時丟失了什麼?需要幫助
你應該把它像
Math.Log10(11.0/10.0);
否則11/10
將導致(整數除法)和相應
寫它像Math.Log10((雙)x/y)服務我的目的:) –
@Nilesh Barai:是的,訣竅是使用浮點除法,而不是整數1;換句話說,你應該使用'double'而不是'int'。你可以通過「(雙)11」或「11.0」或「11d」來完成。 –
改變它
對數Math.Log10(11.0/10.0);
或
Math.Log10(11D/10D);
試試這個:
Math.Log10(11.0/10);
您還沒有計算11/10日誌,因爲11/10爲1。如果你想計算的話,你必須使用雙打:
Math.Log10(11.0/10.0);
這是因爲它首先進行整數除法11/10
(它等於1)。
指定你的號碼爲雙:
Math.Log10(11d/10d);
'm' - 小數點,我認爲你的意思是'd'。 '11d/10'就夠了。 –
@UlugbekUmirov沒錯,糾正它。雖然小數也可以。 – Szymon
'11/10因爲'11'和'10'是'int's的= 1'。使用'11.0'和'10.0'。 – Dmitry
使用'Math.Log10(11.0/10);'或使用'Math.Log10(11/10.0);';-) –
非常感謝!它需要類型轉換。剛剛意識到這一點 –