2009-01-29 31 views

Trả lời

9

Có vẻ như vòng là vấn đề. Tôi đã thay đổi nó với number_format() và điều này thực hiện công việc tốt. Cảm ơn Aron và Paul vì câu trả lời.

+0

Nếu bạn hài lòng với câu trả lời, bạn có thể cân nhắc đánh dấu câu trả lời là "Đã chấp nhận" –

+0

... và xem xét nhận xét thay vì thêm câu trả lời mới làm nhận xét – shfx

+0

ok, im mới, nhưng sẽ ghi nhớ điều đó – Kennethvr

2

Có thể liên quan đến bug report này, vì vậy bạn có thể thử

printf("%d", $myvar); 
7

Liên quan đến câu hỏi của bạn, tôi cũng đã xem qua this comment trên trang web PHP.

Công tắc PHP từ ký hiệu tiêu chuẩn ký hiệu số mũ cho các loại phao "đặc biệt" nhất định. Bạn có thể thấy một phần danh sách đó "đặc biệt" giá trị với điều này:

for($tmp = 0, $i = 0; $i < 100; $i++) 
{ 
    $tmp += 100000; 
    echo round($tmp),"\n"; 
} 

Vì vậy, nếu bạn thêm hai phao, kết thúc với một giá trị "đặc biệt", ví dụ 1,2E + 6, sau đó đặt giá trị đó chưa được sửa đổi thành truy vấn cập nhật để lưu trữ giá trị trong cột thập phân , giả sử bạn có thể nhận giao dịch không thành công, vì cơ sở dữ liệu sẽ thấy "1,2E + 6" varchar dữ liệu, không phải thập phân. Tương tự, bạn sẽ có khả năng gặp phải lỗi xác thực XSD nếu bạn đặt giá trị vào xml.

Tôi có phải trung thực: đây là một trong những điều lạ lùng nhất tôi đã thấy trong ngôn ngữ nào trong hơn 20 năm mã hóa, và nó là một nỗi đau khổng lồ để việc xung quanh.

Dường như chưa có bản sửa lỗi "thực" nhưng đánh giá từ các nhận xét trong số bug report Paul Dixon referered to trước đó, giải pháp của anh dường như hoạt động.

Các vấn đề liên quan