Точки и запятые в формате чисел PHP

Может быть, это что-то очень простое, но я немного потерялся здесь.

У меня есть две разные переменные, одна с запятой и одна с точкой:

<?php
$price1 = "0,85";
$price2 = "0.85";

echo number_format((float)$price1, 2, ',', '');
// display as 0,85

echo number_format((float)$price2, 2, ',', '');
// display as 0,00
?>

Я сделал этот пример, чтобы сделать его более понятным, но в реальном коде он выглядит так:

<?php
echo number_format((float)$prijs, 2, ',', '');
?>

И цена может храниться в базе данных как "0,85" или "0,85".

Как я могу повторить, что независимо от того, с точкой или запятой, он всегда показывает цену с запятой и двумя десятичными знаками?

Почему вы храните в обоих направлениях? Это напрашивается на неприятности. Что, если кто-то введет 3,500.50 или 3.500,50, оба действительны в разных частях мира. И это только два примера.

Andreas 14.03.2019 17:19

Если вы хотите сделать что-нибудь математическое (сложить/вычесть), вы должны использовать разумный числовой формат, т.е. 0.85 если ваш ЛОКАЛЬ (подсказка) использует что-то другое, тогда конвертируйте числа только в слое представления

RiggsFolly 14.03.2019 17:19

@Andreas, это поле, которое пользователи могут заполнить сами ... Я не могу блокировать точки, потому что они также могут заполнять 1.354,45

user2812779 14.03.2019 17:21

Затем вы ограничиваете то, что они заполняют.

Andreas 14.03.2019 17:21

Хранение в обоих направлениях - безумие. 1,100 "одна тысяча сто" или "одна и одна десятая"? Вы должны использовать только один формат для хранения.

Joni 14.03.2019 17:22

Затем вам нужно преобразовать число для хранения в базе данных. Я также предполагаю, что вы храните числа в VARCHAR или подобном, что делает простые запросы, такие как SUM(prijs), намного более сложными.

RiggsFolly 14.03.2019 17:22

Хорошо, я понимаю, что это не так. Спасибо за ответы, отредактирую поле, что они в чем-то ограничены. Спасибо

user2812779 14.03.2019 17:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
178
0

Другие вопросы по теме