Это следующее сообщение, которое я сделал о вводе целого числа в mongodb. У меня это работает просто отлично, используя (int), но теперь, когда он вставляет число в db, он разбивает все после десятичной. Так что, если бы я имел 154.65, он был бы вставлен в mongodb как 154 без ничего после десятичного числа.Mongodb PHP - Целые числа с десятичными знаками
Мой вопрос в том, как получить это, чтобы сохранить все числа после десятичного числа? Кроме того, если кто-то имеет ссылку на эти жало/числовые функции, я был бы признателен за ссылку. Благодарю.
$number["xyz"] = (int) $_POST["number"] ;
$collection->insert($number);
Это вставляет его как целое число, но разделяет все после десятичной дроби. Я пробовал вас предложить
$number["xyz"] = floatval($_POST["number"]) ;
$collection->insert($number);
но это все еще удаляет все после десятичной дроби. Мой хотя это мне нужно что-то, что выглядит это так, что он в формате Монго:
$number["xyz"] = (dec) $_POST["number"] ;
$collection->insert($number);
+1 для рекомендации для хранения денежных значений в виде целых чисел. –
Интересно, сколько производственного кода использует с плавающей запятой для денежных значений;) –
Может быть, вы должны вынуть предложение «нет ориентированного на поддержку десятичного формата», так как mongo и php предлагают собственные десятичные форматы: 'Number' для Mongo (который является по умолчанию для всех литералов чисел) и 'float' для php. Вы должны явно создать MongoInt64 для хранения как NumberLong в php (целочисленный формат в mongo). http://www.mongodb.org/display/DOCS/Data+Types+and+Conventions –