[英]String to Decimal not caring decimal point vb.net and silverlight
[英]How to include decimal point to string in vb.net?
如何在不將字符串轉換為小數的情況下將小數點(帶有兩個小數位)添加到字符串?
例如(將str1昏暗為String),無論str1的值是:100,100.0,100.00還是100.5,100.50 ...我想獲取輸出:100.00或100.50,並保留兩位小數。
Public Function FormatNumber(ByVal s As String) As String
Dim pos As Integer = s.IndexOf("."c)
If pos = -1 Then ' No decimal point
Return s & ".00"
Else
Return (s & "00").Substring(0, pos + 3)
End If
End Function
並且由於您插入了C#標簽:
public string FormatNumber(string s)
{
int pos = s.IndexOf('.');
if (pos == -1) { // No decimal point
return s + ".00";
} else {
return (s + "00").Substring(0, pos + 3);
}
}
但是請注意,多余的小數將被截斷-不會四舍五入!
尚無法添加評論,請原諒其他帖子...
lthibodeaux和dierre是正確的。 轉換為十進制並返回更好。 否則,您可以創建一個函數,該函數在字符串中查找小數點,然后根據找到它的位置向其附加零。 問題是如果您得到類似“ 13.876”的字符串。 您將必須弄清楚如何對字符串進行四舍五入。
走簡單的路線。
Public Shared Function TwoDecimalString(input As String) As String
Dim output As String
Dim splittedInput As String() = input.Split("."C)
If splittedInput.Length = 1 Then
output = input & ".00"
Else
output = splittedInput(0) & "." & splittedInput(1).PadRight(2, "0"C)
End If
Return output
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.