double d = toDateTime.SelectedDateTime.Subtract(
servicefromDateTime.SelectedDateTime).TotalHours;
string s = String.Format("{0:0}",d);
但String.Format会将值向上舍入:如果d为22.91,则String.Format给出舍入结果为23.我不想舍入。例如,如果d是22.1222222,那么我想22.如果d是22.999999,那么我想要22。
我怎样才能做到这一点?
答案 0 :(得分:5)
您可以使用Math.Truncate
double d = toDateTime.SelectedDateTime.Subtract(servicefromDateTime.SelectedDateTime).TotalHours;
string s = String.Format("{0:0}", Math.Truncate(d));
答案 1 :(得分:2)
如果你将double转换为int / long,它会切掉任何小数部分,有效地给你一个“floor”或向下舍入double。
答案 2 :(得分:2)
然后你需要Math.Floor
double d = toDateTime.SelectedDateTime.Subtract(servicefromDateTime.SelectedDateTime).TotalHours;
string s = String.Format("{0:0}",Math.Floor(d));