簡體   English   中英

如何在vb.net中將小數點包含在字符串中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM