2013-07-23 1 views
-4

1을 1.0으로 변환하고 싶습니다.1 정수를 1.0으로 변환 - (문자열이 아니어야 함)

나는 .toFixed() 메서드를 알고 있지만 문자열로 변환합니다. 정수가 필요합니다.

어떻게하면됩니까?

편집 : 같은 번호이므로 4.0 대신 4를 게시하는 데 문제가 없어야하므로 백엔드에이를 처리하도록 요청할 예정입니다.

모두에게 도움을 주셔서 감사합니다.

+1

'1'은 이미 정수입니다. – akonsu

+0

예. 그렇지만 1.0으로 바꾸려면 어떻게해야합니까? – Malcr001

+1

백엔드에서는이 형식의 정수가 필요합니다. 그 이유입니다. – Malcr001

답변

3

정수는 JavaScript의 일시적인 상황에서만 존재합니다. 당신은 비트 연산자의 일부 무 조작의 조합을 사용하여 하나를 강제 할 수

var x = 22.3; 
x = ~~x; 

"X"22되는 결과,하지만 정말 아직도 부동 소수점 값의 것. 정수 값은 표현식 평가 중에 ~~x이지만, 값이 저장되면 부동 소수점으로 돌아갑니다. (죄송합니다 나는 가짜 표현을 편집하지 편집을 더 어쩌면 OK이었다. 여전히 커피 1 컵 ...) ~~는 떠날 것이다 비트의 두 응용 프로그램 "없습니다"작업입니다

하는 것으로 원래의 숫자의 (정수) 값.

편집 — 백 엔드 코드에 값을 게시하는 것에 대한 의견으로는 HTTP 매개 변수가 본질적으로 문자열이라는 것을 이해하십시오. 즉, 숫자 값은 10 진수 문자열 (및 가능한 경우 소수점, 부호, 지수 등)로 렌더링됩니다. 따라서 그 목적을 위해 .toFixed()은 다른 것만큼이나 좋습니다. HTTP 매개 변수가 서버에 도달하면 매개 변수 값을 숫자로 해석하도록 코드가 작성됩니다. 당신은 JSON 객체를 게시하는 경우

편집 다시 —, 그것은 여전히 모든 문자열 인 경우를합니다. 직렬화 된 버전을 만들려면 JSON 인코더를 사용해야하며 숫자가없는 소수 부분은 남겨 둡니다. 자신 만의 시리얼 라이저를 작성할 수는 있지만, 그렇게하기 전에 서버 측 JSON 파서의 문제점을 알아 내서 십진 분수가없는 유효한 숫자를 인식하지 못하게하는 것이 좋습니다.

+0

OP가 JSON으로 보내고 있으며 JSON의 문자열 데이터 유형을 원하지 않는다고 생각합니다. 즉, 유효한 JSON 인 따옴표가없는 10 진수 숫자입니다. '{ "foo": 42.0}'OP가'.toFixed()'를 사용하면'{ "foo": "42.0"}'로 끝납니다. OP가 우리에게 알려주면 좋을 것입니다. –

+0

@CrazyTrain 예, OP는 JSON이라고 주석합니다. 물론 OP가 표준 JSON 직렬화 도구를 사용하고 정수 (값) 정수에 대한 소수 부분을 포함하지 않는 것이 가장 좋습니다. – Pointy

+0

Crazy Train이 맞습니다. JSON 게시 개체로 데이터를 보냅니다. – Malcr001

0

JavaScript에서는 정수와 실수를 구분하지 않습니다. 단지 Number입니다. 따라서 var에 1을 저장할 때마다 그는 실제로 1.0입니다. 화면에서이를 나타 내기 위해서는 .toFixed()를 사용해야합니다. 그것은 당신이 말한 것처럼 문자열 표현입니다. 결과적으로 1 + 2.8과 같은 것을 계산하려면 3.8이됩니다.

0

(1) .toFixed (1) 을 사용할 수 있으며 다시 정수로 사용하려면 parseFloat ((1) .toFixed (1))를 사용하여 변경하십시오.

+1

'parseFloat ((1) .toFixed (1));)는 1을 리턴합니다. – WWJD