開發機與正式機文化特性不同的雷_雲端程式要注意
- 2019-12-01
- 5346
- 0
.NET Framework 內有包含許許多多方便的格式化語法,比如常見的 DataTime.ToString("yyyy-MM-dd")
、 int.ToString("F")
、double.ToString("P")
這些都是偷懶的好幫手,一直以來也用得很自然,直到我膝蓋中了一箭....
情況是這樣的,在頁面中有一條類似進度條的功能,其中寬度的部分我使用了程式去計算寬度
<div class="donated_bar" style="width: @((aa/bb).ToString("P"))"></div>
在我的開發機上一切正常,但部屬到 Azure 後就無法正確顯示,仔細一看後才發現,原本應該是 20% 的字串上雲後變成了 20 % ,因為 CSS Value 錯了,所以效果不如預期😢
直覺認為這是文化特性(culture)造成馬上去查了 MSDN 果然官網範例就是有那一個空格呢
MSDN Double.
確定了問題在哪後就將程式調整成指定文化特性,就解決了
CultureInfo.CreateSpecificCulture("zh-tw")
現在越來越多的案子與專案都是中文語系開發但執行在英文語系的情境,這類事情應該會越來越多,各位開發者不得不小心呢。
回應討論