我想用int来划分一些double类型.我只需要在字符串格式的2个deicmal位置的结果.在堆栈效率方面,最好的方法是什么?
double d=321321321313131233213213213213;
int i=123;
ToString(d/i); //what do I get when I do this? A double? A float?
public String ToString(float? result) //what should I cast the result?
{
return @String.Format("{0:#,0.##;} divided double by int", result);
}
Run Code Online (Sandbox Code Playgroud)
的ToString(d/I); //当我这样做时,我会得到什么?一双?浮动?
你会得到一个双倍.将double除以int将导致double值.
public String ToString(float?result)//我应该如何转换结果?
你会得到一个double价值,所以你最好只使用double这里.你永远不会得到一个可以为空的类型,并且肯定不会得到float一个结果,所以使用float?是完全不合适的.
在堆栈效率方面,最好的方法是什么?
这真的不值得担心,当然,除非您描述并发现这确实是一个问题.构建字符串将比分割操作昂贵得多,并且在性能方面都不可能成为热点.
一个干净的方法来处理这个只是使用double.ToString("N2"),即:
double result = d/i;
string resultAsString = result.ToString("N2");
Run Code Online (Sandbox Code Playgroud)
如果您想要一个完整的格式化字符串,您可以使用:
string resultAsString = string.Format("{0:N2} divided double by int", result);
Run Code Online (Sandbox Code Playgroud)