📜  数字到字符串 (1)

📅  最后修改于: 2023-12-03 15:39:56.763000             🧑  作者: Mango

数字到字符串

在编程中,我们经常需要将数字转换为字符串进行处理或展示,例如将数字转换为货币格式的字符串、将数字转换为科学计数法字符串等。

Python
将数字转换为字符串

在 Python 中,可以使用内置的 str() 函数将数字转换为字符串:

num = 123
str_num = str(num)
print(str_num)  # '123'
将数字转换为带小数点的字符串

如果要将数字转换为带小数点的字符串(默认保留小数点后6位),可以使用 format() 方法:

num = 3.141592653589793
str_num = '{:.2f}'.format(num)
print(str_num)  # '3.14'

其中 {:.2f} 表示格式化为小数点后两位的浮点数。

将数字转换为科学计数法字符串

如果要将数字转换为科学计数法字符串,可以使用 format() 方法,格式化字符串为 {:.2e}(表示科学计数法格式,保留两位小数):

num = 123456789
str_num = '{:.2e}'.format(num)
print(str_num)  # '1.23e+08'
将数字转换为货币格式的字符串

如果要将数字转换为货币格式的字符串,可以使用 Python 的 locale 模块:

import locale

num = 123456.78
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
str_num = locale.currency(num, symbol=True, grouping=True)
print(str_num)  # '$123,456.78'

其中 locale.currency() 函数的参数说明:

  • num:要格式化的数字;
  • symbol:是否显示货币符号;
  • grouping:是否分组(3 位一组)显示。
JavaScript
将数字转换为字符串

在 JavaScript 中,可以使用内置的 toString() 方法将数字转换为字符串:

const num = 123;
const str_num = num.toString();
console.log(str_num);  // '123'
将数字转换为带小数点的字符串

如果要将数字转换为带小数点的字符串(默认保留小数点后15位),可以使用 toFixed() 方法:

const num = 3.141592653589793;
const str_num = num.toFixed(2);
console.log(str_num);  // '3.14'
将数字转换为科学计数法字符串

如果要将数字转换为科学计数法字符串,可以使用 toExponential() 方法:

const num = 123456789;
const str_num = num.toExponential(2);
console.log(str_num);  // '1.23e+8'

其中 toExponential() 函数的参数说明:小数点后保留的位数。

将数字转换为货币格式的字符串

如果要将数字转换为货币格式的字符串,可以手动实现,如下所示:

function formatCurrency(number) {
  const parts = number.toString().split(".");
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  return `$${parts.join(".")}`;
}

const num = 123456.78;
const str_num = formatCurrency(num);
console.log(str_num);  // '$123,456.78'

其中 formatCurrency() 函数使用正则表达式将数字转换为货币格式的字符串。

PHP
将数字转换为字符串

在 PHP 中,可以使用内置的 strval() 函数将数字转换为字符串:

$num = 123;
$str_num = strval($num);
echo $str_num;  // '123'
将数字转换为带小数点的字符串

如果要将数字转换为带小数点的字符串(默认保留小数点后14位),可以使用 number_format() 函数:

$num = 3.141592653589793;
$str_num = number_format($num, 2);
echo $str_num;  // '3.14'

其中 number_format() 函数的参数说明:

  • $num:要格式化的数字;
  • 2:小数点后保留的位数;
  • .',':小数点分隔符;
  • ' ':千位分隔符。
将数字转换为科学计数法字符串

如果要将数字转换为科学计数法字符串,可以使用 sprintf() 函数,格式化为科学计数法的字符串:

$num = 123456789;
$str_num = sprintf('%.2e', $num);
echo $str_num;  // '1.23e+8'
将数字转换为货币格式的字符串

如果要将数字转换为货币格式的字符串,可以使用 PHP 的 money_format() 函数:

setlocale(LC_MONETARY, 'en_US.UTF-8');
$num = 123456.78;
$str_num = money_format('%i', $num);
echo $str_num;  // '$123,456.78'

其中 money_format() 函数的参数说明:

  • '%i':要格式化的数字;
  • '.':小数点分隔符;
  • ',':千位分隔符;
  • '$':货币符号。