一个浮点数,比如 float a = 15.0F;
转换成字符串也要转成 string b = "15.0";
注意,小数点后面的0也要转换,不能丢失。一下子找不到好方面,咨询下大家,请大家给力帮忙。

解决方案 »

  1.   

    本帖最后由 bdmh 于 2011-09-26 14:31:49 编辑
      

  2.   


    a 是不确定的,有可能 float a = 25.40F; 也有可能是 flaot a = 255.4810F;不能单独用ToString("0.000") 这类方,请问还有什么好思路吗?
      

  3.   


    我要的是数字转字符,怎么能一开始就定义为string呢?
      

  4.   

    那你直接把最后一个字母去掉,行吗?
    用subString
    和Indexof
      

  5.   


    float a =15.0F 如果不加格式的话,采用ToString()只会转换成 “15”,你这样回答解决不了问题。
      

  6.   

    楼上的方法都是固定的,我的 float 变量 是随机的数字,我要知道是多少小数位就不会问这个问题了,这就涉及到判断小数位,判断小数位还是比较容易,可是对于小数位后面的0无法判断,因为比如12.50,判断的时候只认为小数位是1,而不会是2,在格式化数字的时候,比如我们经常有这样的输入:12.0,12.1,12.2,12.3。。,同时又想格式化按这样的小数位输出“12.0,12.1,12.2,12.3。。,”,如果事先知道多少小数位完全可以通过ToString("0.0000")这类方法,可问题是事先不知道多少小数位,当碰到 浮点数 是 12.550的时候,计算机自动会把它记录成12.55,所以小数位只有2位,我们就不可能按 ToString("0.000")输出。所以我说无解,是不想耽误大家宝贵时间,不要误解我的意思。
      

  7.   

    没意思的帖子
    可以先将double变量扩大10的n次放倍变成整数,ToString,再定小数点的位置
      

  8.   

    楼主,你的需求是有问题的。
    首先,float f = 15.0F; 你怎么可以随意的认定某个 float 后面就是固定的一个或者 N 个 0?float 后面的 0 是无限制的,显示几个完全是格式化的问题,你想指定几个 0 就显示几个 0float f = 255.4810F 这个float 本身的 value 就是 255.481!没有0,这就是在计算机中的存储,0 是你自己想出来的。我也可以说 255.481000000000不是你定义的时候后面跟几个 0,他就应该有几个 0 的。
      

  9.   

    呵呵  貌似真的无解啊 。。我想。 重写tostring方法  还有用正则判断 还有想了好多都不能。。
      

  10.   

     string ss = "1213.0000130F";
      string s = ss.Substring(0, ss.Length - 1);
      

  11.   

    受不了
    最笨得办法用ascII码来做也做得出来
    怎么能说无解?
      

  12.   

    如果一定要这么做,你最好还是先定义为string型。要用的时候再转成single。
    2.1000000f在定义的时候,并不能保留后面有几个0的信息。