저는 CakePHP 게임을 처음 접했고 겉으로보기에는 간단한 문제를 해결하는 방법에 대한 통찰력이 필요합니다. 필자는 프레임 워크를 활용하고 Google만으로이 문제를 해결하기 위해 고심하고있는 새로운 직장에서 몇 가지 내부 웹 사이트를 물려 받았습니다.입력 양식에 플로트 표시
내가 가지고있는 것은 폼을로드하고 데이터베이스에 이미있는 데이터로 채우는 뷰입니다. 이 동작을하는 세 가지 필드가 있으며 모두 동일한 문제가 있습니다.
필드가보기에 같은 선언 : 그들은 float
데이터 형식이로 선언하고, 따라서, 브라우저에로드 할 때 가끔 수레로 표시됩니다 데이터베이스 내에서
echo $this->Form->input('hotel_costs');
echo $this->Form->input('misc_costs');
는 수행 (15.7 15.699999999되고 ...)
주위를 둘러 보면 내 문제를 해결할 수있는 NumberHelper와 같은 도우미가있는 것처럼 보이지만 양식 값과 함께 기능을 포함시키는 방법을 알지 못합니다. 나는 틀린 장소에서 완전히보고 있는가?
감사합니다.
데이터베이스 필드의 float 값은 15.7로 저장됩니다. 그러나 CakePHP가 폼을 빌드 할 때 15.699999로 필드를 채 웁니다. 나는 입력 필드를 사용하여 값을 표시, 변경 및 저장하는 기능에 영향을 미치지 않으면 서 입력 필드에 부동 소수점 값을 적절하게 표시하는 방법을 모색 중입니다 (필요에 따라 반올림되거나 잘림). 이것은 사용자 정의보기입니다. 나는 "구운"의미가 무엇인지 확신하지 못합니다. – Grambot
이 대답을 확인하십시오. afterFind 메서드를 작성해야한다고 생각합니다. http://stackoverflow.com/a/5270372/1778068 구운다면, 당신은 당신의 코드를 생성하기 위해 콘솔 명령어 인 cake bake를 사용 했는가? – marvin
이벤트 핸들러를 작성하는 대신,이 예제가이 매뉴얼 페이지 http : //의 Common Options 섹션에서 보여주는 것처럼, 폼의 입력 필드에 대한 "기본"값으로 반올림 된 값을 쓰도록 뷰를 변경할 수도 있습니다 book.cakephp.org/2.0/en/core-libraries/helpers/form.html. '설탕'을 '$ this-> Number-'로 대체해야합니다. 'echo $ this-> Form-> input ('ingredients ', array ('default '=>'Sugar ')) > 정밀도 ($ this-> YourModelName-> hotel_costs, 2); ' – marvin