iOS返回一个前面没有0,小数点后保留两位的数字字符串
/*
* 处理一个数字加小数点的字符串,前面无0,保留两位。网上有循环截取的方法,如果数字过长,浪费内存,这个方法在优化内存的基础上设计的。
*/
-(NSString*)getTheCorrectNum:(NSString*)tempString
{
//先判断第一位是不是 . ,是 . 补0
if ([tempString hasPrefix:@"."]) {
tempString = [NSString stringWithFormat:@"0%@",tempString];
}
//计算截取的长度
NSUInteger endLength = tempString.length;
//判断字符串是否包含 .
if ([tempString containsString:@"."]) {
//取得 . 的位置
NSRange pointRange = [tempString rangeOfString:@"."];
NSLog(@"%lu",pointRange.location);
//判断 . 后面有几位
NSUInteger f = tempString.length - - pointRange.location;
//如果大于2位就截取字符串保留两位,如果小于两位,直接截取
if (f > ) {
endLength = pointRange.location + ;
}
}
//先将tempString转换成char型数组
NSUInteger start = ;
const char *tempChar = [tempString UTF8String];
//遍历,去除取得第一位不是0的位置
for (int i = ; i < tempString.length; i++) {
if (tempChar[i] == '') {
start++;
}else {
break;
}
}
//如果第一个字母为 . start后退一位
if (tempChar[start] == '.') {
start--;
}
//根据最终的开始位置,计算长度,并截取
NSRange range = {start,endLength-start};
tempString = [tempString substringWithRange:range];
return tempString;
}
iOS返回一个前面没有0,小数点后保留两位的数字字符串的更多相关文章
- js验证input输入正整数 和 输入的金额小数点后保留两位(PC端键盘输入)
// 验证开头不为零的正整数 WST.zhengZhengShuIn = function (className){ var rex = /^[1-9]{1}[0-9]*$/;//正整数 $(&quo ...
- EL表达式jsp页面double小数点后保留两位
EL表达式jsp页面double小数点后保留两位,四舍五入 <fmt:formatNumber type="number" value="${member.logi ...
- 【js】小数点后保留两位小数
小数点后保留两位小数 dicountPrice.toFixed(2)
- Money型字段小数点后保留两位小数
asp.net直接显示Money型字段小数点后面将保留四位小数,而我们常见的格价显示一般是小数点后两位,如何实现这种效果呢,有如下几种方法: 1.直接型,通过ToString()函数直接格式话 例如把 ...
- 正则验证input输入,要求只能输入正数,小数点后保留两位。
<input type="number" step="1" min="0" onkeyup="this.value= thi ...
- C# 小数点后保留两位小数,四舍五入的函数及使用方法
1 Math.Round(45.367,2) //Returns 45.37 2 Math.Round(45.365,2) //Returns 45.36 C#中的Round()不是我们中国人理解的四 ...
- php小数点后取两位的三种实现方法
php小数点后取两位的方法. 方法一.经常用到小数点后取几位,但不能进位的情况. 比如3.149569取小数点后两位,最后两位不能四舍五入.结果:3.14. 可以使用函数floor. 该函数是舍去取整 ...
- Java中String转换Double类型 Java小数点后留两位
Java中String转换Double类型 double num1 = 0.0; String qq = "19.987"; num1 = Double.valueOf(qq.to ...
- js 让小数四舍五入保留两位小数的函数是?
js 让小数四舍五入保留两位小数的函数是? 例子:data.relations[i].data[j].toFixed(2) toFixed(2)这个函数就是保留两位小数的作用
随机推荐
- mysqlbinlog 导出日志
1.找到日志所在的位置 ls 正好我需要的日志在000011这个二进制文件里,所以直接执行下面的语句: mysqlbinlog --no-defaults --start-datetime=" ...
- Python Iterable Iterator Yield
可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list / tuple / dict / set / str /等(对于这类iterable的对象,因为你可以按照你的意愿进行重 ...
- php mysql 一个查询优化的简单例子
PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Apache使用,就更加Perfect了. 因此,需要做好对mysql的查询优化.下面通过一个简单的例子 ...
- Use setInterval instead of setTimeout
Use setInterval instead of setTimeout check out codes: http://jsfiddle.net/GustvandeWal/295jqqqb/
- [zz] Principal Components Analysis (PCA) 主成分分析
我理解PCA应该分为2个过程:1.求出降维矩阵:2.利用得到的降维矩阵,对数据/特征做降维. 这里分成了两篇博客,来做总结. http://matlabdatamining.blogspot.com/ ...
- ERROR: HHH000123: IllegalArgumentException in class: com.tt.hibernate.helloworld.News, setter method of property: date
问题描述: Hibernate连接数据库时,报出如下错误: 十一月 29, 2016 3:08:31 下午 org.hibernate.tool.hbm2ddl.SchemaUpdate execut ...
- 用Maven新建Web项目时报错
在cmd下,用mvn命令 mvn archetype:create -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=m ...
- UI和3D场景同时都需要响应触摸事件
比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分.为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上. 以前NGUI的时候都是自己 ...
- the import javax.servlet
问题: 在eclipse中编写servlet时出现“the import javax.servlet unresolved” 问题原因: 缺少servlet-api.jar架包. 问题解决办法: 在e ...
- RabbitMQ小结
1.帮助文档 rabbitmq官网:http://www.rabbitmq.com/ rabbitmq谷歌论坛:https://groups.google.com/forum/#!forum/rabb ...