【问题标题】:Adding a space in a String after a certain character(VB Code)在某个字符后在字符串中添加一个空格(VB代码)
【发布时间】:2016-12-08 05:48:30
【问题描述】:

大家好。

    Dim txt1 As Double = Convert.ToDouble(TextBox1.Text) / 100
    Dim txt2 As Double = Convert.ToDouble(TextBox2.Text)
    Dim txt3 As Double = Convert.ToDouble(TextBox3.Text)
    Dim txtResult As Double = Convert.ToDouble(TextBox4.Text)

    Dim result As Double = txt1 * txt2 * txt3
    TextBox4.Text = result

如您所见,我的结果取决于用户输入的内容。所以我必须在某个字符后添加一个空格。 Textbox14.text(0)

【问题讨论】:

    标签: string vb.net textbox space


    【解决方案1】:

    您在谈论组分隔符。 Custom Numeric Format Strings

    您可以使用.ToString() 方法并在格式中定义组分隔符。

    TextBox4.Text = result.ToString("0,0.000")
    

    将根据本地系统的语言/区域设置使用不同的分隔符。

    您可以手动定义您的客户分隔符

    var cultureInfo = new System.Globalization.CultureInfo("en-US");
    var numberInfo = cultureInfo.NumberFormat;
    numberInfo.NumberGroupSeparator = " ";
    
    TextBox4.Text = result.ToString("0,0.000", numberInfo)   
    

    【讨论】:

    • 哇!谢谢大佬,其实就是这么简单!祝你有美好的一天!
    【解决方案2】:

    如果我做对了,你希望每 3 个字符一个空格,对吗? 就像 1 000 000 一样? 试试这个:

    Dim result As String, str As String, ret As String
    Dim i As Integer
    Dim arr As Char()
    'your text to space 
    result = "10000000"
    'reverte so we start with the end
    result = StrReverse(result)
    i = 0
    ret = ""
    ' make a char array which each char is an own array element
    arr = result.Take(result.Length).ToArray
    'iterate through all elements
    For Each str In arr
        ' skip the first element . 
        ' only add a space every 3 elements 
        If (i <> 0) And (i Mod 3 = 0) Then
            ret = ret + " "
        End If
        ret = ret + str
        i = i + 1
    Next
    ' revers again the output
    ret = StrReverse(ret)
    MsgBox(ret)
    

    【讨论】:

      猜你喜欢
      • 2013-10-19
      • 2014-04-17
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      相关资源
      最近更新 更多