您的位置:程序门 -> .net技术 -> c#



关于精度的问题,请高手进来解决,大家可以学习一下


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于精度的问题,请高手进来解决,大家可以学习一下
发表于:2007-06-28 23:33:01 楼主
现在有这样一个数字,比如double   a   =   1000;

我想转换成这样表示的1000   =   1k,或者其他的可以表示1000的表示,因为数据太长会影响显示的效果,所以想用类似中的方式,可以计数法tostring( "e ");   这样就可以了。

请大家发挥一下想象空间,如何高效的转换一下显示,数据类型无所谓,比如可以tostring()或者其他的转换都可以。
发表于:2007-06-29 08:03:181楼 得分:0
除了精度记数法,默认的似乎没有什么精简法则了吧??

除非你自己编写一个。。。

===================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
email:loving-kiss@163.com
本人说明: <我的帖子我做主,结贴率保持100%>
===================================================
发表于:2007-06-29 08:05:052楼 得分:0
汗~~是科学记数法,又输入错误

===================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
email:loving-kiss@163.com
本人说明: <我的帖子我做主,结贴率保持100%>
===================================================
发表于:2007-06-29 08:09:063楼 得分:0
编写一个16进制以上进制的算法,也应该不是什么难事;

只要加多两个字母,所代替的范围可就增大了一大截,凡是符合什么8421码、余三码的,都给它弄上,你要26个字母没用完,你都不好意思出来和别人打招呼~~

凡是喜欢320进制的人,根本不在乎再多几位。。。

===================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
email:loving-kiss@163.com
本人说明: <我的帖子我做主,结贴率保持100%>
===================================================
发表于:2007-06-29 08:23:574楼 得分:0
1
10
100
1k
1w   ?
发表于:2007-06-29 08:43:475楼 得分:0
12504
2w2k504   ?

还不是一样长啊?
发表于:2007-06-29 08:45:506楼 得分:0
lz要的只不过是显示而已,和精度并没有太大关系...自己写个转换方法就是了...比如著名的1024进制...

说到精度...double   的精度本身就有问题...能不用就不用...我都是用   decimal...
发表于:2007-06-29 09:01:027楼 得分:0
1024进制,最近推出了2048进制的,而且4096进制也正在磨合,8192进制正在研发

请耐心等待我的好消息。。。。。。。。。。

===================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
email:loving-kiss@163.com
本人说明: <我的帖子我做主,结贴率保持100%>
===================================================
发表于:2007-06-29 10:07:288楼 得分:0
自己改写tostring()就解决了,easy...
发表于:2007-06-29 11:09:179楼 得分:0
amandag(高歌)   就是你这样显示,然后加上四舍五入就可以
发表于:2007-06-29 11:36:1210楼 得分:0
public   static   string   convert1(double   _value)
{
int   temp;
if   (_value   >   1000)
{
temp   =   (int)_value   /   1000;
if   (_value   %   1000   > =   0.5)
temp++;
return   temp.tostring()   +   "k ";
}
return   null;
}
发表于:2007-06-29 11:46:4311楼 得分:0
方法不错..
发表于:2007-06-29 13:04:1312楼 得分:0
leng9996(探针)的方法是可以解决问题,value值不确定,也许会很大,比如是一个m量级的数字,那样又会写比较多的判断语句,大家还有其他更好的方法吗?


快速检索

最新资讯
热门点击