pronamic/wp-number

WordPress 数字库。

安装次数: 78,076

依赖项: 7

建议者: 0

安全: 0

星标: 4

关注者: 5

分支: 0

开放问题: 0

类型:wordpress-plugin

v1.3.2 2024-06-07 11:50 UTC

This package is auto-updated.

Last update: 2024-09-12 14:17:55 UTC


README

WordPress 数字库。

Latest Stable Version Total Downloads Latest Unstable Version License codecov Coverage Status

目录

入门

安装

composer require pronamic/wp-number

使用方法

$number = Number::from_float( 123.50 )->add( 0.45 );

echo \esc_html( $number->format_i18n( 2 ) );

设计原则

数字就是数字

通常,一个数字就是一个数字,不是一个字符串,这意味着任何编程语言都将数字视为数字。因此,数字本身并不暗示任何特定的格式(例如使用 .000021 而不是 2.1e-5)。这与显示带前导零的数字(如 0.000021)或对齐数字列表没有区别。这是任何编程语言中都会遇到的一般问题:如果您需要特定的格式,您需要使用编程语言的格式化函数指定它。

当然,除非您将数字指定为字符串并在需要时将其转换为实际数字。某些语言可以隐式地执行此操作。

https://stackoverflow.com/a/1471792

指数形式/科学记数法中的数字

2.1E-5 与 0.000021 是相同的数字。这就是打印小于 0.001 的数字的方式。如果需要特定格式,请使用 printf()。

编辑 如果您不熟悉 2.1E-5 语法,您应该知道它是 2.1×10-5 的缩写。这是大多数编程语言表示科学记数法中数字的方式。

https://stackoverflow.com/a/1471694

前导零

https://github.com/moneyphp/money 中不允许使用前导零

不允许使用前导零

来源: https://github.com/moneyphp/money/search?q=leading+zero

这可能与以下用户注释有关

小心使用 GMP - 它将数字字符串中的前导零视为表示数字为八进制,而 'bc' 则不是

gmp_strval("000100", 10) => 64

bcmul("000100", "1") => 100

来源: https://php.ac.cn/manual/en/book.gmp.php#106521

<?php
$a = 1234; // decimal number
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
$a = 1_234_567; // decimal number (as of PHP 7.4.0)
?>

来源: https://php.ac.cn/manual/en/language.types.integer.php

数字字面量中的前导零表示 "这是八进制"。但不要混淆:字符串中的前导零则不然。因此: $x = 0123; // 83 $y = "0123" + 0 // 123

来源: https://php.ac.cn/manual/en/language.types.integer.php#111523

链接

Pronamic - Work with us