## 1.7　数字介绍

• 8

• 3.14

• 10980843985

• -4.2398508

• 4.4e2

``````\$n = 3.14;
\$n = round (\$n); // 3
``````

``````\$n = 3.142857;
\$n = round (\$n, 3); // 3.143
``````

`+` 加法
`-` 减法
`*` 乘法
`/` 除法
`%` 取模
`++` 增量
`--` 减量

`number_format()`函数用于把一个数字转换成更常见的表示形式，用逗号作为千位分隔符，例如：

``````\$n = 20943;
\$n = number_format (\$n); // 20,943
``````

``````\$n = 20943;
\$n = number_format (\$n, 2); // 20,943.00
``````

1. 在文本编辑器或IDE中创建一个新的PHP文档，命名为`number.php`（参见脚本1-8）。

```1    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5       <title>Numbers</title>
7    <body>
8    <?php # Script 1.8 - numbers.php
9
10   // Set the variables:
11   \$quantity = 30; // Buying 30 widgets.
12   \$price = 119.95;
13   \$taxrate = .05; // 5% sales tax.
14
15   // Calculate the total:
16   \$total = \$quantity * \$price;
17   \$total = \$total + (\$total * \$taxrate); // Calculate and add the tax.
18
19   // Format the total:
20   \$total = number_format (\$total, 2);
21
22   // Print the results:
23   echo '<p>You are purchasing <b>' . \$quantity . '</b> widget(s) at a cost of <b>\$' . \$price .'</b> each. With  tax, the total comes to <b>\$' .  \$total . '</b>.</p>';
24
25   ?>
26   </body>
27   </html>
```

2. 建立必需的变量。

``````\$quantity = 30;
\$price = 119.95;
\$taxrate = .05;
``````

3. 执行计算。

``````\$total = \$quantity * \$price;
\$total = \$total + (\$total * \$taxrate);
``````

4. 格式化总额。

``````\$total = number_format (\$total, 2);
``````

`number_format()`函数将把总额用千位分隔符分开，并将其四舍五入为两位小数。这将为最终用户显示更合适的结果。

5. 打印结果。

``````echo '<p>You are purchasing <b>' . \$quantity . '</b> widget(s) at a cost of <b>\$' . \$price . '</b> each.With tax, the total comes to <b>\$' . \$total . '</b>.</p>';
``````

6. 完成PHP代码和HTML页面。

``````?>
</body>
</html>
``````

7. 将文件另存为`numbers.php`，存放在Web目录中，并在Web浏览器中测试它（参见图1-16）。

8. 如果需要，可更改最初的3个变量，然后重新运行脚本（参见图1-17）。

• PHP在大多数平台上支持的最大整数在20亿左右。对于更大的数字，PHP将自动使用浮点类型。

• 当处理算术运算时，会出现优先级问题（执行复杂计算的次序）。虽然PHP手册和其他资源倾向于列出优先级的层次结构，但是，我发现把子句组织在括号中来强制执行次序，会使程序设计更安全、更易读（参见脚本1-8的第17行）。

• 计算机处理小数的名声不佳。例如，2.0这个数字实际上存储为1.999 99。在大多数情况下，这不是一个问题，但是，倘若数学精度极其重要，这就要依靠整数，而不是小数。PHP手册中包含关于这个主题的信息，以及用于改进计算准确性的备用函数。

• 许多数学运算符还具有相应的赋值运算符，从而允许简写赋值语句。下面的一行语句：

``````\$total = \$total + (\$total * \$taxrate);
``````

可以重写为：

``````\$total += (\$total * \$taxrate);
``````
• 如果没有使用两位小数设置`\$price`的值（例如，119.9或34），那么可能希望在打印`\$price`之前，对其应用`number_format()`