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

问题描述 投票:1回答:2

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

我需要在用户在rad数字文本框中输入值后格式化文本。用户需要输入介于.001和.999之间的数字。输入后,返回的值必须是百分比形式的数字,后跟百分号

即:如果用户输入.500,则该框必须返回50.000%

这在理论上似乎很简单,但我一直都会遇到这个错误

无法设置Text属性。输入字符串的格式不正确

这是我正在使用的代码。 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">

c# telerik
2个回答
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;

祝好运 :)


0
投票

尝试这样的事情:

double pct = rntb.Value.GetValueOrDefault();
rntb.Text = String.Format("{0:P3}.", pct);
© www.soinside.com 2019 - 2024. All rights reserved.