ASP.net MaskedEdit:输入数字425.25产生4250000000.25。我怎样才能解决这个问题?

时间:2009-04-07 13:31:42

标签: asp.net

我在ORACLE数据库中有一个NUMBER字段,设置为13,2。我想使用MaskedEdit字段来掩盖它。

如果我输入425.25,它会产生4250000000000.25,而不是移动425。我按字母顺序进入425按周期键然后按25,这会将我移动到MaskedEdit的小数区域。这很好用,但我需要向下移动主整数而不用零填充。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

它可能是您的软件的本地化版本,误解了角色。 (期)。请尝试用(逗号)代替句号。

此外,您应该检查CultureInfo,这是一个防止这样的错误的重要工具,您应该在Web.Config上设置它,并且每个接受它的方法,如MS Code Analysis告诉您。接受CultureInfo参数的常用方法是:

  1. Parse(int.Parse,double.Parse,...)
  2. ToString(int.ToString,double.ToString,...)

答案 1 :(得分:0)

检查你的面具属性:

这不是正确的标记,只是Ajax Control Toolkit网站的一个示例。

<ajaxToolkit:MaskedEditExtender
    TargetControlID="TextBox2" 
    Mask="9,999,999.99"
    MessageValidatorTip="true" 
    OnFocusCssClass="MaskedEditFocus" 
    OnInvalidCssClass="MaskedEditError"
    MaskType="Number" 
    InputDirection="RightToLeft" 
    AcceptNegative="Left" 
    DisplayMoney="Left"
    ErrorTooltipEnabled="True"/>

答案 2 :(得分:0)

删除了MaskedEdit控件并使用JQuery插件产生相同的效果,但没有任何缺陷。