咨询一个字符串转换数字的问题 一个浮点数,比如 float a = 15.0F;转换成字符串也要转成 string b = "15.0";注意,小数点后面的0也要转换,不能丢失。一下子找不到好方面,咨询下大家,请大家给力帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 bdmh 于 2011-09-26 14:31:49 编辑 a 是不确定的,有可能 float a = 25.40F; 也有可能是 flaot a = 255.4810F;不能单独用ToString("0.000") 这类方,请问还有什么好思路吗? 我要的是数字转字符,怎么能一开始就定义为string呢? 那你直接把最后一个字母去掉,行吗?用subString和Indexof float a =15.0F 如果不加格式的话,采用ToString()只会转换成 “15”,你这样回答解决不了问题。 楼上的方法都是固定的,我的 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")输出。所以我说无解,是不想耽误大家宝贵时间,不要误解我的意思。 没意思的帖子可以先将double变量扩大10的n次放倍变成整数,ToString,再定小数点的位置 楼主,你的需求是有问题的。首先,float f = 15.0F; 你怎么可以随意的认定某个 float 后面就是固定的一个或者 N 个 0?float 后面的 0 是无限制的,显示几个完全是格式化的问题,你想指定几个 0 就显示几个 0float f = 255.4810F 这个float 本身的 value 就是 255.481!没有0,这就是在计算机中的存储,0 是你自己想出来的。我也可以说 255.481000000000不是你定义的时候后面跟几个 0,他就应该有几个 0 的。 呵呵 貌似真的无解啊 。。我想。 重写tostring方法 还有用正则判断 还有想了好多都不能。。 string ss = "1213.0000130F"; string s = ss.Substring(0, ss.Length - 1); 受不了最笨得办法用ascII码来做也做得出来怎么能说无解? 如果一定要这么做,你最好还是先定义为string型。要用的时候再转成single。2.1000000f在定义的时候,并不能保留后面有几个0的信息。 SQLite 异常 请大家提供一种思路 求一个学习.NET模板技术的 网址 winform:两个datagridview的水平或垂直滚动条,当其中一个滚动,另外一个也同样滚动,而且滚动的值也一样? 请教一个C#中向MYSQL数据库写入中文的问题 怎样遍历Form窗体上的所有控间?? 怎么把gridview的网格线消除 C/S B/S 已经算是分部式了,为什么还要讲谈论分布式,到底是分布式是意思?在哪里分布?? 谁有C#开发的餐饮管理软件,请与我联系,最好能够发个测试版过来看看,本酒店要想买 关于LabelTextbox问题,在线等结贴 PdfReader 出 Invalid ActiveX State Exception 错误 请教个有关datagridview绑定dataset的问题
a 是不确定的,有可能 float a = 25.40F; 也有可能是 flaot a = 255.4810F;不能单独用ToString("0.000") 这类方,请问还有什么好思路吗?
我要的是数字转字符,怎么能一开始就定义为string呢?
用subString
和Indexof
float a =15.0F 如果不加格式的话,采用ToString()只会转换成 “15”,你这样回答解决不了问题。
可以先将double变量扩大10的n次放倍变成整数,ToString,再定小数点的位置
首先,float f = 15.0F; 你怎么可以随意的认定某个 float 后面就是固定的一个或者 N 个 0?float 后面的 0 是无限制的,显示几个完全是格式化的问题,你想指定几个 0 就显示几个 0float f = 255.4810F 这个float 本身的 value 就是 255.481!没有0,这就是在计算机中的存储,0 是你自己想出来的。我也可以说 255.481000000000不是你定义的时候后面跟几个 0,他就应该有几个 0 的。
string s = ss.Substring(0, ss.Length - 1);
最笨得办法用ascII码来做也做得出来
怎么能说无解?
2.1000000f在定义的时候,并不能保留后面有几个0的信息。