我有一个简单的文本框,我正在为此输入数字值。我想将数字值格式化为两位小数。如果我在文本框中输入10并按下输入或离开文本框之后它应该转换为10.00。请告诉我是否有任何可能使用javascript或vb.net或textbox的asp.net属性。我已经尝试在JavaScript上输入键或Tab键按,但每次将其转换为10.00当我按下输入或制表符时,有代码
//Make Formatting with .00
document.onkeydown = function disableKeys() {
if( typeof event != 'undefined' ) {
if( (event.keyCode == 9) ||
(event.keyCode == 13) ) {
var a;
var b;
a=parseFloat(document.getElementById('txtpkrusd').value,10);
b=parseFloat(document.getElementById('txtRatelb').value,10);
document.getElementById('txtpkrusd').value=formatNumber(a);
document.getElementById('txtRatelb').value=formatNumber(b);
}
};
};
答案 0 :(得分:2)
var num = 10;
var result = num.toFixed(2); //will give 10.00
答案 1 :(得分:1)
hiya希望这会有所帮助:(除了上面的评论,即圆形使用.toFixed(num))
演示(输入数字并按回车键):http://jsfiddle.net/6wG26/5/ 或在此输入和标签键http://jsfiddle.net/Mtw7c/7/
请;如果这不是你想要的我会删除我的帖子;但这会对你有帮助。
由于你的代码很多,我在这里制作了分叉样本:
**HTML:**
<input type="text" name="one" class="currency">
**JQuery code:**
(function($) {
$.fn.currencyFormat = function() {
this.each( function( i ) {
$(this).change( function( e ){
if( isNaN( parseFloat( this.value ) ) ) return;
this.value = parseFloat(this.value).toFixed(2);
});
});
return this; //for chaining
}
})( jQuery );
$( function() {
$('.currency').currencyFormat();
});
OR ENter key&amp; Tab键在此处:http://jsfiddle.net/Mtw7c/7/
$('.currency').live('keydown', function(e) {
var key = e.keyCode || e.which;
if (key== 9 || key == 13) {
e.preventDefault();
if( isNaN( parseFloat( this.value ) ) ) return;
this.value = parseFloat(this.value).toFixed(2);
// call custom function here
}
});
希望这会有所帮助,如果你阅读以下链接会很好 - 从这里取样,但要为你做样品,In jQuery, what's the best way of formatting a number to 2 decimal places?
您始终可以对仅限数字的文本框进行验证。其他修正案,希望这有助于交配,欢呼!!