2013-04-26 2 views
0

Я работаю над веб-приложением HTML5, в котором я получаю данные от пользователя, и я конвертирую его в качестве номера запятой, например, 1000, но я хочу, чтобы с запятой также должны быть преобразованы в к фиксированному как 1,000.00 так, как добавить в этот метод здесь мой кодКак применить toFixed() к входному значению в веб-приложении HTML5

вот jsfiddle демо обработка моего кода

http://jsfiddle.net/FhZ6y/3/

здесь код

<input type="text" id="test" onBlur="addCommas(this)"> 
<input type="hidden" id="testRealValue"> 

<script> 
function isNumber(n) { 
return !isNaN(parseFloat(n)) && isFinite(n); 
} 
function addCommas(input){ 



nStr = input.value; 
if(!isNumber(nStr))return; 
document.getElementById("testRealValue").value = nStr; 
var offset = nStr.length % 3; 
if (offset == 0) 
    input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})(?=[0-9]+)/g, "$1,"); 
else 
    input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})/g, ",$1"); 
    var a =document.getElementById('testRealValue').value; 
    alert(a); 
} 
</script> 

ответ

1

Вы должны сначала разобрать поплавок, а затем применить toFixed:

function isNumber(n) { 
    return !isNaN(parseFloat(n)) && isFinite(n); 
} 
function addCommas(input){ 



    nStr = input.value; 
    if(!isNumber(nStr))return; 
    nStr = parseFloat(nStr).toFixed(2); 
    document.getElementById("testRealValue").value = nStr; 
    var offset = nStr.length % 3; 
    if (offset == 0) 
     input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})(?=[0-9]+)/g, "$1,"); 
    else 
     input.value = nStr.substring(0, offset) + nStr.substring(offset).replace(/([0-9]{3})/g, ",$1"); 
     var a =document.getElementById('testRealValue').value; 
    alert(a); 


} 

Конечно, так как вы теперь применяя tofixed свои методы для вставки запятой используется неправильный индекс, и вы должны изменить его так, он вставляет запятую в нужное место, но я оставлю это до вас

+0

@it означает, что ваш код будет показывать только значение в формате не запятая, я уже это сделал, но когда я добавляю запятую, это не работает. Редактировать в jsfiddle, как я дал ссылку –

+0

Обновлен мой ответ, и вот скрипка: http://jsfiddle.net/FhZ6y/10/ – Kenneth

 Смежные вопросы

  • Нет связанных вопросов^_^