나는 문제가 있었다 : 십진수가 포함 된 문자열이 있었지만 사용자는 점이나 쉼표를 사용하여 두 가지 방법으로 쓸 수 있습니다.
https://flaviocopes.com/how-to-comma-dot-javascript/
0,32
0.32
국가마다 정수의 소수 부분과 정수 부분을 구분하는 다른 방법을 사용합니다.
그래서 쉼표를 찾을 때마다 문자열을 점을 사용하여 변환하기로 결정했습니다.
나는 간단한 정규 표현식을 사용하여 다음을 수행했습니다.
let value = '0,32'
value = value.replace(/,/g, '.')
//value is now '0.32'
replace (/\./ g, ',')를 사용하여 반대의 작업을 수행 할 수 있습니다 (정규 표현식의 특수 문자이므로. 앞에 있는 \를 참고하십시오).
정규식의 g 플래그는 쉼표 (또는 두 번째 예에서 점)의 인스턴스가 여러 개인 경우 모두 변환되도록 합니다.
이것은 우리의 사용 사례에 적용되는 것이 아니며 여기에서 입력의 무결성을 확인하기 위해 더 많은 검증을 수행해야 한다고 생각합니다.하지만 시작입니다.
필자의 경우 이 대체를 수행 한 후 parseFloat (value)을 호출하여 문자열에서 부동 소수점을 가져온 다음 toFixed (2)를 사용하여 소수를 2로 제한했습니다.
value = parseFloat(value).toFixed(2)
등록된 댓글이 없습니다.