문제

나는 몇 가지에 보고서를 출력하는 스크립트해야 할 몇 가지 기초적인 계산에서 약간의 돈을 값입니다.

나의 한계를 알고 있는 부동 소수점 연산 이러한 목적으로,그러나 입력 값에서 모든 형식의 진수,그래서 내가 사용하는 경우 사칙연산자들에 PHP 이 캐스팅을 뜹니다.

그래서 가장 좋은 방법은 무엇입하여 처리합니다.사용해야 합니까 BCMath?은 거기에 가까운 무언가 습니다.NET?거나 안전하게 사용하여 산술 사업자 경우 다시 스 int?

도움이 되었습니까?

해결책

달러로 일하지 마십시오 ($ 1.54), 센트로 일하십시오 : (154c). 센트의 일부 부분이 중요한 작업을 수행해야하지 않는 한 정수와 함께 일할 것이며 모든 것이 잘됩니다. 센트의 10 분의 1에 관심이 있다면 모든 것을 10을 곱하십시오!

다른 팁

bcmath를 사용하는 경우 모든 값은 문자열에 저장되고 결과가 문자열이되는 것처럼 문자열로 함수로 전달됩니다. 따라서 캐스팅을 수행 할 필요는 없지만 함수에 주어진 숫자가 값 숫자 값인지 확인하십시오. 개인적으로, 수학이라면 필요합니다 소수점에서 많은 양의 정밀도가 BCMath를 사용합니다.

와 작업하는 경우 합리적인 양(하"정상적인 사람"),를 사용하여 부동 소수점은 문제가 될 가능성이 특히,당신은 단지 추가하고 빼는 양보다는,하,말,관심을 계산합니다.

는 경우에 당신은에 대한 자세한 설명을 읽어 보시기 바 고정,전환하는 정수를 높이는 데 도움 당신은;당신은 여전히 거래 오버플로우가 발생합니다.(누군가가 편집하려면 여기를 언급하는 경우 PHP 발생할 수는 경계를 넘어의 정수 입력,그것을 것입 해석으로 떠신.하지만 당신은 다시 원래의 문제를 사용하여 부동 소수점!) 임의의 길이 정수(GMP,에서 참조하는 페이지)도움이 될 수 있습니다.)

기본적으로하고,이에 반 방법으로 작품에서는 대부분의 경우,그리고 저렴;그 일을 제대로 심각한 고통입니다.나의 제안에서 보는 것입니다 이 비즈니스 문제는:만약 누군가에 대해 불평 없 퍼센트,그들에게 달러,그리고 성가시게 하지 않을 시작에서 진정한 해결책을 때까지 당신이 저장하려고 더 달러에 의해 하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top