关于如何格式化输入框中的文本,我遇到了很多线索,但我相信这个问题不同,因为我无法找到答案。
我需要在用户在rad数字文本框中输入值后格式化文本。 用户需要输入介于.001和.999之间的数字。输入后,返回的值必须是百分比形式的数字,后跟百分号
即: 如果用户输入.500,则该框必须返回50.000%
理论上这似乎很简单,但我不断收到此错误
无法设置文字属性。输入字符串的格式不正确
这是我正在使用的代码。 C#
double pct = rntb.Value.GetValueOrDefault();
string result = pct.ToString("P3");
rntb.Text = result;
ASP
<telerik:RadNumericTextBox ID="rntb" runat="server" Type="Percent" Value="1" OnTextChanged="rntb_TextChanged">
答案 0 :(得分:0)
我建议您使用RadMaskedTextBox
<telerik:RadMaskedTextBox ID="RadMaskedTextBox1" runat="server" Mask=".###"
Width="100%" PromptChar="_" />
使用RadMaskedTextBox1.Text;
获取您的价值,它会返回RadMaskedTextBox
的文字(仅限数字),而不会显示.
(点)。
例如
.001 => 001
.500 => 500
.999 => 999
所以,你必须转换喜欢
string yourPercentage = (Double.Parse(RadMaskedTextBox1.Text)/ 10).ToString() + "%";
修改强>
您可以更改并测试此方法,
RadMaskedTextBox1.Text;
RadMaskedTextBox1.TextWithLiterals;
RadMaskedTextBox1.TextWithPrompt;
RadMaskedTextBox1.TextWithPromptAndLiterals;
祝你好运:)
答案 1 :(得分:0)
尝试这样的事情:
double pct = rntb.Value.GetValueOrDefault();
rntb.Text = String.Format("{0:P3}.", pct);