有人能帮我完成以下要求或场景的代码吗.我达到了80 %,但坚持了autoformatting...Its的愚蠢但对我来说是新的:
那么,我的业务用户想要为一个大数量的字段文本框提供功能,它只允许两个小数点。例如,当她键入1000时,它应该自动格式化为"1,000.00“,当她键入1000000时,应该是"1,000,000.00”,当她键入1K时,它应该被自动格式化为"1,000.00“,当她键入10000.23时,应该是"10,000.23”,M/m应该是百万,b/B应该是十亿。那么,我可以实现所有这些M/M,k/K等,并将小数点限制在两个小数点。就连我也保持了验证,就像它不允许任何字符,除了k/K,m/M,b/B,“。还有",“请记住,如果用户只提到2k,它应该是"2,000.00“,也就是说,如果没有她的小数点或否的值。在textbox中的number值中,应该是对23333.32的“to .00”,它应该是"23,333.32“
但是,我有一个问题,要实现输入的自动格式化,从小数位的第一位开始到小数位的左边,每3位数字间隔一次。我不知道如何对昏迷进行自动格式化.只有当用户完成输入键并按下选项卡时,才会发生这种情况。请帮助我实现这个目标:(如果您能像上面这样为我共享示例代码,我会非常高兴的。(在我们尝试编写代码时,请考虑我提到的所有场景) :)同时,我还将研究实现这一点的方法.我知道这对你来说可能很傻,但对我来说却是新的:(....thank,你们都.
发布于 2012-03-26 02:10:44
String.Format("{0:0,0.00}", 12345.67); // 12,345.67
String.Format("{0:0,0.00}", 12345.6); // 12,345.60
String.Format("{0:0,0.00}", 12345); // 12,345.00
String.Format("{0:0,0.##}", 12345.67); // 12,345.67
String.Format("{0:0,0.##}", 12345.6); // 12,345.6
String.Format("{0:0,0.##}", 12345); // 12,345当文本框失去焦点时:
double value;
if (double.TryParse(txtBox.Text, out value))
{
txtBox.Text = String.Format("...", value);
}
else
{
// Some code to handle the bad input (not parsable to double)
}发布于 2014-01-10 13:06:43
function decimalformat(amount) {
var delimiter = ","; // replace comma if desired
var a = amount.split('.', 2)
var d = a[1];
var i = parseInt(a[0]);
if (isNaN(i)) { return ''; }
var minus = '';
if (i < 0) { minus = '-'; }
i = Math.abs(i);
var n = new String(i);
var a = [];
while (n.length > 3) {
var nn = n.substr(n.length - 3);
a.unshift(nn);
n = n.substr(0, n.length - 3);
}
if (n.length > 0) { a.unshift(n); }
n = a.join(delimiter);
if (d.length < 1) { amount = n; }
else { amount = n + '.' + d; }
amount = minus + amount;
return amount;
}请试试这张模糊的文本框。
https://stackoverflow.com/questions/9865742
复制相似问题