以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 有没有办法控件单价输入为二位小数 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=54434) |
-- 作者:瞩望星空 -- 发布时间:2014/7/28 14:58:00 -- 有没有办法控件单价输入为二位小数 用一个文本框输入单价,想控制输入为二位小数,如234.23或12.31或2.35等, 请问如何设置输入掩码? |
-- 作者:有点甜 -- 发布时间:2014/7/28 15:05:00 -- 这样写 #######.##
但是掩码应该不满足你的需求,建议你在Validating的时候,判断一下是否满足。 |
-- 作者:Bin -- 发布时间:2014/7/28 15:12:00 -- 输入掩码只能控制指定格式. 想要保留两位小数,可以在Textchanged事件中处理 e.Sender.text=Format(Val(e.sender.text),"0.00") e.Sender.SelectionStart=e.Sender.text.Length-3 绑定了列,可以直接在列属性设置保留2位小数
[此贴子已经被作者于2014-7-28 15:13:53编辑过]
|
-- 作者:瞩望星空 -- 发布时间:2014/7/28 16:05:00 -- 回复BIN 设置Textchanged e.Sender.text=Format(Val(e.sender.text),"0.00") e.Sender.SelectionStart=e.Sender.text.Length-3 出现: InvalidArgument=Value of \'-2\' is not valid for \'SelectionStart\'. Parameter name: SelectionStart 这个提示错。 |
-- 作者:有点甜 -- 发布时间:2014/7/28 16:09:00 -- 你直接写这句就好了
e.Sender.text=Format(Val(e.sender.text),"0.00")
|
-- 作者:瞩望星空 -- 发布时间:2014/7/28 16:13:00 -- 加了这句 e.Sender.text=Format(Val(e.sender.text),"0.00") 后,文本框不能输入小数了,只能输入整数位。 |
-- 作者:有点甜 -- 发布时间:2014/7/28 16:14:00 -- 或者你在Validating事件,写代码,在离开控件的时候,再校验
If System.Text.RegularExpressions.Regex.Ismatch(e.Sender.Text ,"[0-9]+\\.{1}[0-9]{2}")=False Then |