我試圖將字符串解析爲小數,如果字符串中的小數點後面有2位以上的數字,解析應該失敗。無法限制在C語言中將字符串解析爲十進制數時的小數位數
e.g:
1.25
是有效的,但1.256
無效。
我試圖用decimal.TryParse
方法在C#中以下面的方式來解決,但是這並不能幫助......
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalDigits = 2;
if (!decimal.TryParse(test, NumberStyles.AllowDecimalPoint, nfi, out s))
{
Console.WriteLine("Failed!");
return;
}
Console.WriteLine("Passed");
有什麼建議?
謝謝!我也意識到使用正則表達式來檢查是最好的選擇,因爲我無論如何都將字符串轉換爲小數。我的正則表達式模式看起來像「\。(\ d {3})」 因爲我只是想檢查字符串是否有超過3小數,這種模式應該足夠我猜。 – vignesh
雖然如果你的應用程序需要處理不同的文化,它將不會如此。 –
好的輸入,但對不同的文化有一個正則表達式不應該是一個實現的問題! – Alex