我在vb.net显示时想要只显示固定位数,在Matlab中对应的是format short g,也就是会从第一个非0数开始固定输出4位数,比如123.4345就会输出成123.4;0.0012323就会输出成0.001232。请问各位大神如何在vb.net里实现这个功能,要用什么函数么?
------解决方案--------------------
比较笨的方法,有空再想想好的方法,
string S;
string 取整;
public string getsingle(double t)
{
if (t > 1)
{
if (t.ToString().Length > 4)
{
S = (t.ToString()).Substring(0, 4);
if (S.IndexOf(".") > 0)
{
S = (t.ToString()).Substring(0, 5);
}
}
else
{
S = t.ToString();
}
}
else if (t < 1)
{
string w = t.ToString();
string[] split = null;
split = w.Split('.');
int 小数部分 = ((int)(Math.Pow(10, split[1].Length) * t));
//string 取整 = (小数部分.ToString()).Substring(0, 4);
if (小数部分.ToString().Length <= 4)
{
取整 = 小数部分.ToString();
S = (Convert.ToInt16(取整) / Math.Pow(10, split[1].Length)).ToString();
}
else
{
取整 = (小数部分.ToString()).Substring(0, 4);
S = (Convert.ToInt16(取整) / Math.Pow(10, 4)).ToString();
}
}
return S;
}