찾다

 >  Q&A  >  본문

php - 유형 변환에 관해 질문이 있습니다. float 유형을 int로 변환할 때 문제가 있을 수 있다고 생각했는데 결과는 그렇지 않았습니다.

예를 들어 float형 2.0000000000을 int로 변환하면 기본 저장공간은 1.999999999999999가 되어야 하는데 정밀도 제한이 있어서 이 숫자를 int로 변환하면 1이 될 것 같아요(소수점 부분은 버림)
하지만 여러 언어를 테스트했는데 모두 정확했습니다(php, java, go, js)
php:

js:

이동:

자바:

过去多啦不再A梦过去多啦不再A梦2749일 전806

모든 응답(6)나는 대답할 것이다

  • 滿天的星座

    滿天的星座2017-06-12 09:21:20

    2.0 부동 소수점 숫자로 정확하게 표현할 수 있습니다. 이 숫자에는 문제가 없습니다.

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:21:20

    십진수는 1.999999가 아닌 과학적 표기법으로 저장됩니다. 강제 전송 중에 처리되며 유형으로 직접 변환되지 않습니다

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-06-12 09:21:20

    일반적으로 int->float과 같이 낮은 정밀도를 높은 정밀도로 변환할 때 높은 정밀도를 낮은 정밀도로 변환하면 정밀도가 떨어지고 데이터 결과가 매우 놀랄 수 있습니다.

    회신하다
    0
  • 阿神

    阿神2017-06-12 09:21:20

    몇 가지 고전적인 예

    (int)(0.57 * 100)

    (int)((0.1+0.7)*10)

    회신하다
    0
  • 世界只因有你

    世界只因有你2017-06-12 09:21:20

    실질적인 의미는 없습니다. 실제로 생각한 대로 작동한다면 이 언어를 설계한 사람은 분명히 고려할 것입니다

    자세한 이해를 위해서는 특정 조립 원칙이 필요하므로 너무 열중하지 마세요

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-06-12 09:21:20

    이 프로그래밍 패널을 어디서 다운로드했는지 물어봐도 될까요? 좋은 것 같아요

    회신하다
    0
  • 취소회신하다