试图分离整数和十进制asp.net c#
本文关键字:asp net 十进制 分离 整数 | 更新日期: 2023-09-27 18:10:00
我在寻找指导,有人能帮我吗?
我需要将持续时间的值分成整数和小数。
编辑:我有一个文本框在一个页面。如果有人输入1.5,它被存储在持续时间,我想在另一个页面中检索,我想在文本框中存储整数,十进制数将根据响应从下拉列表中选择一个值。
对不起,我不小心添加了两次持续时间。
context.Response.Write(dr["Title"].ToString()
+ '|' + dr["CourseId"].ToString() + '|' + dr["duration"].ToString()
+ '|' + dr["Code"].ToString() + '|'
+ dr["Category"].ToString() + School.NewLine);
如果您要分割的值是一个数字,请尝试:
decimal number = 12.34;
int wholePart = decimal.Truncate(number);
decimal fractionPart = number - wholePart;
如果是字符串,CLandry的答案应该是正确的,duration[0]是整数部分,duration[1]是小数部分
var duration = dr["duration"].ToString().Split(CultureInfo.InvariantCulture.NumberFormat.NumberDecimalSeparator);
int durationWhole = Int32.Parse(duration[0]);
int durationDecimal = Int32.Parse(duration[1]);
Duration是一个字符串数组。时长[0]为小数点前的部分,时长[1]为小数点后的部分。
使用区域性的小数分隔符进行分割,因此它也应该在全局范围内工作。
根据你问题中的编辑,我已经更新了答案,也给了你数值结果。现在您可以根据需要使用数字或字符串。
context.Response.Write(dr["Title"].ToString()
+ '|' + dr["CourseId"].ToString() + '|' + dr["duration"].ToString().Split('.')[0]
+ '|' + dr["duration"].ToString().Split('.')[1] + '|' + dr["Code"].ToString() + '|'
+ dr["Category"].ToString() + School.NewLine);
您可以使用Substrings和IndexOf:
{ context.Response.Write(
dr["Title"].ToString() + '|' +
dr["CourseId"].ToString() + '|' +
dr["duration"].ToString().Substring(0, dr["duration"].ToString().IndexOf(".")) + '|' +
dr["duration"].ToString().Substring(dr["duration"].ToString().IndexOf("."), dr["duration"].ToString().Length()) + '|' +
dr["Code"].ToString() + '|' +
dr["Category"].ToString() +
School.NewLine);
}