[英]Converting string to double “cuts” 0
這是因為您的機器和服務器正在使用兩種不同的文化。
有些文化使用“。” 作為小數點,而其他人使用“,”。 似乎在您的服務器文化中,“。” 是小數點 - 因此“0,0123”中的逗號被視為千位分隔符。
我將使用double.TryParse
或Convert.ToDouble
的重載,它接受IFormatProvider
並傳入正確的CultureInfo
。
將來,請嘗試使用CultureInfo.InvariantCulture
格式化所有內部數據(即數據持久性或系統中的數據流),並使用正確的CultureInfo
向用戶顯示數據。
小數點在不同文化之間是不一樣的,因此,具有不同文化背景的計算機。
嘗試使用double.Parse(string, CultureInfo)
和一個適用於您的格式的顯式CultureInfo
。
根據您將值表示為0,0123而不是0.0123的事實,我猜測服務器上的語言/文化設置與您自己的計算機上的語言/文化設置不同。
嘗試從服務器上的某個位置打印出System.Globalization.CultureInfo.CurrentCulture.Name
的結果,並將其與本地計算機生成的結果進行比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.