C#十进制到数字(?,?)
发布时间:2020-12-16 01:31:36 所属栏目:百科 来源:网络整理
导读:我有一个问题,我没有找到解决方案,所以我请求你的帮助. 在我的数据库中,我有一些int,decimal和string需要转换为具有特定长度和精度的数字,以包含在平面文件中. 例如: integer 123 to numeric(8,0) == 00000123decimal 123,123 to numeric(8,8) == 000001231
我有一个问题,我没有找到解决方案,所以我请求你的帮助.
在我的数据库中,我有一些int,decimal和string需要转换为具有特定长度和精度的数字,以包含在平面文件中. 例如: integer 123 to numeric(8,0) ==> 00000123 decimal 123,123 to numeric(8,8) ==> 0000012312300000 String "22" to numeric(8,0) ==> 00000022 它不能放逗号或点.有一个简单的解决方案 编辑: 平面文件根据起点和长度获取信息,因此我在文件中包含的每个数据都必须是一个长度.而对于我所拥有的数字,例如 database Decimal Price = 123,456 File Numeric(8,6) Price = 00000123456000 我想知道如何根据N(,)解析任何十进制或整数数据 解决方法
试试这个:
string ToNumericString(int value) { return value.ToString("00000000"); } string ToNumericString(decimal value) { var value16 = Math.Truncate(value * 100000000); return value16.ToString("0000000000000000"); } string ToNumericString(string value) { return ToNumericString(int.Parse(value,CultureInfo.InvariantCulture)); } 打电话给它: MessageBox.Show(ToNumericString(123)); MessageBox.Show(ToNumericString(123.123M)); MessageBox.Show(ToNumericString("22")); 或更一般: string ToNumericString(decimal value,int digitsBefore,int digitsAfter) { var value16 = Math.Truncate(value * (decimal)Math.Pow(10,digitsAfter)); return value16.ToString(new String('0',digitsBefore + digitsAfter)); } MessageBox.Show(ToNumericString(123.123M,8,3)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |