在字符串中的某个字符后添加一个space(VB代码)
Adding a space in a String after a certain character(VB Code)
大家好。
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
如您所见,我得到的结果取决于用户输入的内容。所以我必须在某个字符后添加一个 space。 Textbox14.text(0) <--- 在此之后我想要我的 space。这样当值大于 999 后应该输入 1 000 而不是 1000。非常感谢您提供任何有用的帮助,我真的到处都找过了,我就是找不到任何东西。
你说的是组分隔符。 Custom Numeric Format Strings
您可以使用 .ToString()
方法并在格式中定义组分隔符。
TextBox4.Text = result.ToString("0,0.000")
将根据本地系统的 language/region 设置使用不同的分隔符。
您可以手动定义自定义分隔符
var cultureInfo = new System.Globalization.CultureInfo("en-US");
var numberInfo = cultureInfo.NumberFormat;
numberInfo.NumberGroupSeparator = " ";
TextBox4.Text = result.ToString("0,0.000", numberInfo)
如果我没看错,你希望每 3 个字符一个 space,对吗?
像 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)
大家好。
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
如您所见,我得到的结果取决于用户输入的内容。所以我必须在某个字符后添加一个 space。 Textbox14.text(0) <--- 在此之后我想要我的 space。这样当值大于 999 后应该输入 1 000 而不是 1000。非常感谢您提供任何有用的帮助,我真的到处都找过了,我就是找不到任何东西。
你说的是组分隔符。 Custom Numeric Format Strings
您可以使用 .ToString()
方法并在格式中定义组分隔符。
TextBox4.Text = result.ToString("0,0.000")
将根据本地系统的 language/region 设置使用不同的分隔符。
您可以手动定义自定义分隔符
var cultureInfo = new System.Globalization.CultureInfo("en-US");
var numberInfo = cultureInfo.NumberFormat;
numberInfo.NumberGroupSeparator = " ";
TextBox4.Text = result.ToString("0,0.000", numberInfo)
如果我没看错,你希望每 3 个字符一个 space,对吗? 像 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)