C#与JavaScript实现逗号分隔金额的四种方法
4星 · 超过85%的资源 需积分: 10 65 浏览量
更新于2024-09-16
收藏 2KB TXT 举报
"C#语言实现逗号分隔金额的四种方法"
在编程中,尤其是在处理财务数据时,经常需要将数字格式化为带有千位分隔符(逗号)的字符串,以便于人类阅读。本资源主要介绍了在C#语言中进行这种格式化的四种方法。以下是对这四种方法的详细解释:
### 方法一:使用正则表达式
```csharp
public static string nst(string t)
{
if (t.Trim() == "") return "";
// 使用正则表达式替换每四个数字后添加逗号
string[] txt = t.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
while (Regex.IsMatch(txt[0], @"\d{4}(,|$)"))
{
txt[0] = Regex.Replace(txt[0], @"(\d)(\d{3}(,|$))", "$1,$2");
}
if (txt.Length == 1)
{
return txt[0] + ".00";
}
else
{
return txt[0] + "." + txt[1].Replace("00", "0");
}
}
```
这种方法首先检查输入的字符串是否为空,然后利用正则表达式匹配每连续四个数字并插入一个逗号。如果输入字符串不包含小数部分,则自动添加".00";如果有小数部分但尾部是"00",则将其简化为单个"0"。
### 方法二:JavaScript实现
```javascript
var str = '10000231.22';
var str1 = str.split('.')[0];
var str2 = str.split('.')[1];
var arr = str1.split('');
var arr = arr.reverse();
var pos = [];
for (var i = 0; i < arr.length; i++) {
if ((i + 1) % 3 == 0)
pos.push(i);
}
for (var j = 0; j < pos.length; j++) {
arr.splice(pos[j] + j + 1, 0, ',');
}
var arr = arr.reverse().join('');
arr = arr + '.' + str2;
console.log(arr);
```
这是用JavaScript实现的示例,它首先分离出整数和小数部分,然后将整数部分的字符数组反转,查找每三个字符后的位置插入逗号。最后,反转回正确的顺序并重新连接小数部分。
### 方法三:使用数组操作
```javascript
var num = 5201314.55;
var str = num.toString();
var num = str.split(".");
var arr = num[0].split("");
var b = "";
var index = 0;
for (var i = arr.length - 1; i >= 0; i--) {
if (index % 3 == 0) {
b = arr[i] + "," + b;
} else {
b = arr[i] + b;
}
++index;
}
```
这种方法将数字转换为字符串,然后分割出整数部分。通过遍历整数部分的字符数组,每三个字符后添加逗号,同时反向构建新的字符串。
### 方法四:结合数组操作和正则表达式
虽然没有直接给出这种方法,但可以结合上述两种思路,先用数组处理整数部分,再用正则处理小数部分。首先,将数字转换为字符串,然后分割出整数和小数部分。对整数部分的字符数组进行操作,每三个字符后添加逗号,最后将小数部分重新连接。
这些方法各有优缺点,例如正则表达式方法简洁,但可能在处理复杂情况时效率较低;而数组操作方法虽然更灵活,但代码可能较长。在实际开发中,应根据项目需求和性能要求选择合适的方法。
2020-10-22 上传
2020-08-29 上传
2023-03-11 上传
2023-07-16 上传
2023-04-19 上传
2023-06-03 上传
2023-03-07 上传
2023-05-25 上传
2023-06-08 上传
2023-05-16 上传
-小徐-
- 粉丝: 8
- 资源: 8
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统