Heim Backend-Entwicklung PHP-Tutorial 大家是如何避免金额转换的

大家是如何避免金额转换的

Jun 13, 2016 pm 01:36 PM
float floatval Money quot

大家是如何处理金额转换的?
比如表单提交过来的
最低竞价额,比如 51
每日消费最高限额,比如123456789.12
用floatval转换不会损失精度吗?
mysql数据库,存储类型为decimal(10, 2)

------解决方案--------------------
用floatval转换不会损失精度吗?
会!

但是你为什么要转换成 float 呢?

------解决方案--------------------
不会吧,你本来存进去就是浮点型的,取出来也一样,或者用sprintf("%01.2f", $money);
------解决方案--------------------

探讨

引用:

用floatval转换不会损失精度吗?
会!

但是你为什么要转换成 float 呢?


不是一定要转换float
我想问的是提交过来的money怎么验证?

------解决方案--------------------
money怎么验证?

可以有 +- 做前导
可以有 , 分节
可以有 . 小数点
除此以外都是数字

如果你还需要判断值设为范围,那请用 BC math 高精度数学函数

------解决方案--------------------
涉及到钱的问题马虎不得,建议以分为单位,这样所有的计算都是整数计算,实际中不会存在精度的问题
------解决方案--------------------
... ... 

你能不能说清楚到底是什么目的?
防止注入?
验证金额数额是否准确?
------解决方案--------------------
探讨

引用:

... ...

你能不能说清楚到底是什么目的?
防止注入?
验证金额数额是否准确?


转换就是为了防止注入
而且转换的时候不能损失精度。
应该是两者都有吧
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der maximale Float-Wert? Was ist der maximale Float-Wert? Oct 11, 2023 pm 05:54 PM

Maximaler Wert von Float: 1. In der C-Sprache beträgt der maximale Wert von Float 3,40282347e+38. Gemäß dem IEEE 754-Standard beträgt der maximale Exponent des Float-Typs 127 und die Anzahl der Stellen der Mantisse beträgt 23. Auf diese Weise beträgt die maximale Gleitkommazahl 3,40282347 e+38 2. In der Java-Sprache beträgt der maximale Gleitkommawert 3,4028235E+38; in der Python-Sprache beträgt der maximale Gleitkommawert 1,7976931348623157e+308.

Wie hoch ist die Genauigkeit des Floats? Wie hoch ist die Genauigkeit des Floats? Oct 17, 2023 pm 03:13 PM

Die Genauigkeit von Float kann 6 bis 9 Dezimalstellen erreichen. Gemäß dem IEEE754-Standard beträgt die Anzahl der signifikanten Ziffern, die der Float-Typ darstellen kann, etwa 6 bis 9 Ziffern. Es ist zu beachten, dass dies nur die theoretische maximale Genauigkeit ist. Aufgrund des Rundungsfehlers von Gleitkommazahlen ist die Genauigkeit des Gleitkommatyps häufig geringer. Bei der Ausführung von Gleitkommazahlenoperationen in einem Computer kann es aufgrund der Genauigkeitsbeschränkungen von Gleitkommazahlen zu Präzisionsverlusten kommen. Um die Genauigkeit von Gleitkommazahlen zu verbessern, können Sie Datentypen mit höherer Genauigkeit verwenden, z. B. Double oder Long Double.

Was bedeutet Float in der C-Sprache? Was bedeutet Float in der C-Sprache? Oct 12, 2023 pm 02:30 PM

Float ist in der Sprache C ein Datentyp, der zur Darstellung von Gleitkommazahlen mit einfacher Genauigkeit verwendet wird. Gleitkommazahlen sind reelle Zahlen, die in wissenschaftlicher Notation dargestellt werden und sehr große oder sehr kleine Werte darstellen können. Variablen vom Typ float können Werte mit 6 signifikanten Stellen nach dem Dezimalpunkt speichern. In der Sprache C kann der Typ float zum Betreiben und Speichern von Gleitkommazahlen verwendet werden. Seine Variablen können zur Darstellung von Dezimalzahlen, Brüchen und wissenschaftlicher Notation verwendet werden usw., die genau dargestellt werden müssen. Im Gegensatz zu Ganzzahltypen können Gleitkommazahlen Zahlen nach dem Komma darstellen und vier arithmetische Operationen mit Dezimalzahlen ausführen.

Was sind die Float-Längen der Datenbank? Was sind die Float-Längen der Datenbank? Oct 10, 2023 pm 03:57 PM

Übliche Datenbank-Float-Längen sind: 1. Die Float-Typ-Länge in MySQL kann 4 Bytes oder 8 Bytes betragen. 2. Die Float-Typ-Länge in Oracle kann 4 Bytes oder 8 Bytes betragen. 3. Die Länge des Float-Typs in SQL Server ist auf 8 Bytes festgelegt. 4. Die Länge des Float-Typs in PostgreSQL kann 4 Bytes oder 8 Bytes usw. betragen.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Was beinhalten float32-Bytes? Was beinhalten float32-Bytes? Oct 10, 2023 pm 04:07 PM

Das float32-Byte enthält das Vorzeichenbit, das Exponentenbit und das Mantissenbit und wird zur Darstellung von 32-Bit-Gleitkommazahlen verwendet. Detaillierte Einführung: 1. Vorzeichenbit (1 Bit), das zur Darstellung des Vorzeichens einer Zahl verwendet wird, 0 stellt eine positive Zahl dar, 1 stellt eine negative Zahl dar. 2. Exponentenbit (8 Bit), das zur Darstellung des Exponententeils von a verwendet wird Gleitkommazahl, über das Exponentenbit können Sie den Größenbereich der Gleitkommazahl 3 anpassen. Das Mantissenbit (23 Bit) wird verwendet, um den Mantissenteil der Gleitkommazahl darzustellen, und das Mantissenbit speichert der Dezimalteil der Gleitkommazahl. Das Vorzeichenbit bestimmt das Vorzeichen einer Gleitkommazahl, und das Exponentenbit und das Mantissenbit bestimmen gemeinsam die Größe und Genauigkeit der Gleitkommazahl.

Welche Werte hat das Float-Attribut? Welche Werte hat das Float-Attribut? Oct 10, 2023 pm 02:03 PM

Zu den Float-Attributwerten gehören left, right, none, inherit, clearinline-start und inline-end. Detaillierte Einführung: 1. links, das Element schwebt nach links, das heißt, das Element befindet sich so nah wie möglich an der linken Seite des Containers und andere Elemente umgeben es auf der rechten Seite. 2. rechts, das Element schwebt nach rechts, das heißt, das Element befindet sich so nah wie möglich am Container. Auf der rechten Seite werden andere Elemente es auf der linken Seite umgeben. 3. Der Standardwert ist „Keine“, die Elemente schweben nicht und werden angeordnet entsprechend dem normalen Dokumentenfluss usw.

Welche Probleme verursacht das Float-Layout? Welche Probleme verursacht das Float-Layout? Oct 10, 2023 pm 03:31 PM

Das Float-Layout kann Probleme wie das Löschen von Floats, Probleme mit der Überlappung von Elementen, Probleme mit dem Textumbruch und Probleme mit dem reaktionsfähigen Layout verursachen. Detaillierte Einführung: 1. Wenn Sie das Float-Layout verwenden, werden die Floating-Elemente vom Dokumentfluss getrennt, was dazu führen kann, dass der übergeordnete Container die Floating-Elemente nicht korrekt umschließen kann Der übergeordnete Container wird zusammenbrechen, was zu einem Layout-Chaos führt. 2. Das Problem der Elementüberlappung besteht darin, dass sich die schwebenden Elemente nicht mehr an der normalen Position des Dokuments befinden.

See all articles