StringFormat Double没有舍入

Mal*_*olm 3 .net c#

double d = toDateTime.SelectedDateTime.Subtract(
              servicefromDateTime.SelectedDateTime).TotalHours;             
string s = String.Format("{0:0}",d); 
Run Code Online (Sandbox Code Playgroud)

但String.Format会将值向上舍入:如果d为22.91,则String.Format给出舍入结果为23.我不想舍入.例如,如果d是22.1222222,那么我想要22.如果d是22.999999,那么我想要22.

我怎样才能做到这一点?

Chr*_*lor 5

您可以使用Math.Truncate

double d = toDateTime.SelectedDateTime.Subtract(servicefromDateTime.SelectedDateTime).TotalHours; 

string s = String.Format("{0:0}", Math.Truncate(d));
Run Code Online (Sandbox Code Playgroud)