如何在Telerik Rad数字文本框上设置文本

时间:2013-07-29 21:32:04

标签: c# telerik

关于如何格式化输入框中的文本,我遇到了很多线索,但我相信这个问题不同,因为我无法找到答案。

我需要在用户在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">

2 个答案:

答案 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);