share 不同单位的计算

wartim 2009-05-31 05:20:30
既然lz 结贴了,我就分享一下我的做法好了

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
String[] Units = new String[] { "件", "盒", "瓶" };

DataTable DT = new DataTable();
DT.Columns.Add(new DataColumn());
DT.Rows.Add(new Object[] { "3件10盒" });
DT.Rows.Add(new Object[] { "10件6盒" });
DT.Rows.Add(new Object[] { "1件9瓶" });

double Value = 0;
foreach (DataRow DR in DT.Rows)
{
String CalString = DR[0].ToString();
for (int i = 0; i < Units.Length; i++)
{
double M = 1;
for (int j = 0; j < i; j++)
M *= 10000;
CalString = CalString.Replace(Units[i], "*" + M.ToString() + "+");
}
if (CalString.Length > 0)
CalString = CalString.Remove(CalString.Length - 1);
Value += Convert.ToDouble(DT.Compute(CalString, String.Empty));
}

for (int i = 0; i < Units.Length; i++)
{
Console.Write((int)Value % (10000) + Units[i]);
Value /= 10000;
}
Console.Read();
}
}
}
// 输出: 14件16盒9瓶
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧