2012-11-18 5 views
0

안녕하세요. 여기선 도움이 필요합니다. 나는 자바 스크립트 프로그래머가 아니지만 필요한 코드를 함께 작성했지만 현재 갖고있는 통화 형식에 문제가 있습니다. 아래의 코드에서 myForm.man_quan.value에는 $가 필요하지 않지만 수천을 구분하는 쉼표가 필요하며 myForm.man_price.value에는 가격에 센트가없는 경우 $, 쉼표 및 .00이 필요합니다.자바 스크립트 통화 형식

기본적으로 나는 $, 및 .00을 내가 가진 것에 추가 할 수 있어야합니다.

function runTotal(myForm) { 
var form_field1 = Number(myForm.man_quan.value); 
var form_field2 = Number(myForm.man_price.value); 
myForm.man_total.value = form_field1.toFixed(0) * form_field2.toFixed(2); 
} 

답변

0

같은 불필요한 기호를 제거하십시오 http://www.w3schools.com/jsref/jsref_parseint.asp 이 통화이기 때문에, 당신이 사용 할 수 있습니다 파스 플로트 http://www.w3schools.com/jsref/jsref_parsefloat.asp

그래서 다음과 같아야합니다.

function runTotal(myForm) { 
    var form_field1 = parseFloat(myForm.man_quan.value); 
    var form_field2 = parseFloat(myForm.man_price.value); 
    myForm.man_total.value = form_field1.toFixed(0) * form_field2.toFixed(2); 
} 

다시 추가하면 수천 명이 더 까다로울 수 있습니다. var를 toString()으로 개조하고 $ 기호를 추가하면됩니다. 자바 스크립트에서

var output = "$"+myForm.man_total.value.toString(); 
0

function runTotal(myForm) { 
var form_field1 = formatmoney(myForm.man_quan.value); 
var form_field2 = formatmoney(myForm.man_price.value); 
myForm.man_total.value = form_field1.toFixed(0) * form_field2.toFixed(2); 
} 
+0

이 정수 여야, 실제로하지 않았다 아무것도하지 말고 계산 과정을 깬다. – BeKustom

0

가 교체 또는 $ 쉼표 내가 당신의에서는 parseInt()를 찾고 생각

form_field1 = myForm.man_quan.value.replace(',', '.'); 
form_field2 = myForm.man_price.value.replace('$', ''); 
myForm.man_total.value = form_field1 * form_field2; 
+0

나는 이것을 시도하고 그것도 작동하지 않았다. 나는 아직도 $와 콤마를 얻지 못하고있다. – BeKustom

+0

예제를 게시 할 수 있습니까? –

0

아주 간단한 기능

toLocaleString라고 : 데이터 유형 나를 위해 작동하지 않았다

function numTocurrency(num) 
{ 
    return parseInt(num).toLocaleString(); 
} 
+0

'toLocaleString'의 출력을 통화로 포맷 하시겠습니까? – Kobi

+0

예, JavaScript 기본 기능입니다. –

+0

Int는 값의 센트 부분을 잃게됩니다. – kRiZ