我有一個顯示數字的ASP.net MVC網站。我可以以某種方式確定用戶的計算機是否配置爲使用逗號或點作爲小數點分隔符?如何確定ASP中的小數點分隔符MVC
我可以在Request.UserLanguages中檢查不同的語言,但對於確定小數點分隔符來說不太準確。
我有一個顯示數字的ASP.net MVC網站。我可以以某種方式確定用戶的計算機是否配置爲使用逗號或點作爲小數點分隔符?如何確定ASP中的小數點分隔符MVC
我可以在Request.UserLanguages中檢查不同的語言,但對於確定小數點分隔符來說不太準確。
你可以看到here如何從瀏覽器語言CultureInfo
- 這將讓你 一個CultureInfo
對象,你可以使用這樣的:
var sep = browserCulture.NumberFormat.NumberDecimalSeparator;
MVC在處理小數值時存在問題。
Haack對此有一個很好的post。它向你展示瞭如何克服這一點。
由於您詢問最終用戶的計算機,答案是否定的。不幸的是,網絡瀏覽器不會給你這樣的信息。您可以獲得的所有內容都是用戶的首選語言,但它是通過HTTP Accept-Language標頭髮送到服務器的瀏覽器設置。而已。
如果你認爲如果JavaScript會給你的話,答案是不會的。它運行在沙箱中,因此它無法訪問操作系統。
我不確定Flash是否可以訪問此類信息(可能),但可能會被最終用戶阻止。對於ActiveX控件也是如此,再加上它不是跨平臺的。
因此,堅持從網頁瀏覽器檢測到的文化和相應的格式編號,它只是更容易(雖然它不會支持最終用戶修改操作系統設置)。
謝謝 - 這與我所需要的非常接近,但由於小數分隔符不一定與語言一致,因此它不適用於任何情況。 – Preli