2016-05-31 2 views
1

Heey 모두! MongoDB 내에 부동 소수점을 저장하는 데 문제가 있습니다.부동 소수점 PHP - MongoDB

PHP 내에서 나는 float 속성을 가진 Object를 만들고 있습니다. 이것은 다음과 같은 객체가 될 수 있습니다. cpuArray

속성로드는 PHP 내에서 유효한 float 유형입니다. 는 때마다 난 내 데이터가 다음과 같이 삽입됩니다 몽고하는 지속 :

{ 
    "_id": ObjectId("574d55d1da461e77030041aa"), 
    "hostname": "VPS", 
    "timestamp": NumberLong(1464685936), 
    "cpuCores": NumberLong(2), 
    "cpuList": { 
    "cpu1": { 
     "load": 2.2999999999999998224 
    }, 
    "cpu2": { 
     "load": 3.0 
    } 
    } 
} 

는 어떤이의 원인은 무엇입니까?

  • 몽고 PHP 확장 버전 : 1.6.14
  • 심포니 버전 : 3.0.6
  • MongoDB의 쉘 버전 : 3.2.4

나는 다음과 같은 소프트웨어 + 버전을 사용하고 있습니다 doctrine odm을 사용하여 데이터를 삽입합니다.

이 게시물에서 볼 수 있듯이 : Mongodb PHP - Integers with decimals 데이터베이스에 삽입 된 십진수는 올바르게 삽입되고 표시됩니다. 나에게 이것은 아니다.

+4

필수 강좌 : [모든 프로그래머가 부동 소수점 연산에 대해 알아야 할 사항] (http://floating-point-gui.de/) ;-) – Crozin

답변

0

내 데이터베이스의 내용을 표시하는 데 사용하는 앱이 올바르게 표시되는 데 문제가있는 것으로 보입니다. mongoshell을 통해 가치를 살펴 봤는데 정확히 내가 입력 한 가치였습니다.