java获取小数位数_Java获取小数位数
最近搞Struts2弄得有点头昏脑胀,第一个例子“HelloWorld”总不成功,有点郁闷。
想起前几天上cpld/fpga课时老师说得判断小数位数的例子,闲来无事用Java实现一下。顺便也在csdn上露露头。
思想:将小数作为字符串处理,获取小数点的位置。用字符串的长度减去小数点位置,再减去1,得到小数位数。
/**
* @(#)GetBitsOfDecimal.java
*
*
* @author zhangweiheb
* @version 1.00 2009/3/15
*/
import java.io.*;
import java.util.*;
import java.util.regex.*;
public class GetBitsOfDecimal {
public static void main (String[] args) {
//获取键盘输入
String inStr="";
System.out.println("输入小数:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try{
inStr=br.readLine();
}catch(Exception e){}
//正则表达式判断是否为小数
Pattern p=Pattern.compile("//d{1,}//.//d{1,}");
Matcher m=p.matcher(inStr);
boolean b=m.matches();
if(b){ //是小数则判断位数
//获取小数点的位置
int bitPos=inStr.indexOf(".");
//字符串总长度减去小数点位置,再减去1,就是小数位数
int numOfBits=inStr.length()-bitPos-1;
System.out.println("小数位数为: "+numOfBits);
}else{ //不是小数,给出错误提示信息
System.out.println("输入的不是小数");
}
}
}
另外,还有一种思想:
小数:d
小数强制转换成的整数:i
小数位数:n (n的初始值为1)
while((d-i)>0) {
d=d*10;
i=(int)d;
n++;
}
这种算法在小数末位为“0”,例如“1.10”时会判断出错。不知Java或其他语言中有没有解决方法。
程序不大,也不难,大师们见笑了,但写完后心情好多了。以后每当郁闷的时候就写段小程序。
java获取小数位数_Java获取小数位数相关推荐
- java获取文件地址吗_java获取文件所在服务器位置路径
1.通过 import javax.servlet.ServletContext 类获取web 服务器所在真实路径 public ActionForward execute( ActionMappin ...
- java ip地址接口_java获取ip地址与网络接口的方法示例
java.net包 大家应该都知道,网络相关对象在java.net包中,Java net包下的类如下: 1.获取主机对象InetAddress //获取本地主机对象 InetAddress host ...
- java获取扩展名_Java获取文件扩展名称
有时在处理文件时,需要根据文件类型对它们进行不同的处理. java.io.File没有任何获取文件扩展名的方法,这里提供了一个实用工具方法来获取文件扩展名. Java获取文件扩展名 在句点(.)之后, ...
- java 获取秒数_Java获取精确到秒的时间戳(转)
1.时间戳简介: 时间戳的定义:通常是一个字符序列,唯一地标识某一刻的时间.数字时间戳技术是数字签名技术一种变种的应用.是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01 ...
- java设置小数位数_java设置小数点后位数
static void challenge2() throws IOException { double double1; double double2; double double3; double ...
- java设置小数点格式_java指定小数点后位数格式
转自:http://blog.csdn.net/huaishuming/article/details/17752365 4种方法,都是四舍五入,例: import java.math.BigDeci ...
- java float存储方式_Java中小数的存储方式
因为底层的二进制数不能精确表示所有的小数.有时候会产生让人觉得莫名其妙的事情. 如在java中, 0.99999999f==1f//true 0.9f==1f //false 要明白这些,首先要搞清楚 ...
- java 获取区间随机数_Java获取随机数的3种方法
主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...
- java中的随机数_Java获取随机数
随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...
最新文章
- MySQL练习题:常用函数
- Altium Designer PCB布线只显示单层
- [BUUCTF-pwn]——mrctf2020_shellcode
- Python 找出1与100之间的全部“同构数”
- ArcGIS API For Silverlight使用在线地图的多种方法总结
- PHP常见概念混淆(五)之PHP类常量、静态属性和属性的区别
- Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan
- python实现禁忌搜索算法
- 9月第2周网络安全报告:境内87.8万主机感染病毒
- 常用字典代码推荐标准
- pe擦除服务器硬盘,如何使用老毛桃winpe的分区助手安全擦除移动硬盘或本地硬盘数据?...
- 软件开发人员的能力模型
- python输出n的32次方_在Python中,如何将2的32次方-1的值存放到g中?
- 【那些年踩过的坑】服务器配环境:Ubuntu 16.04 + Titan Xp + CUDA 9.0 + cuDNN 7.1 + Tensorflow + Pytorch + MXNet
- 嵌入式远程岗位、兼职、接单、众包平台
- matlab图像处理英文文献,数字图像处理英文文献翻译参考.doc
- vim安装配置coc.vim实现语言的自动补全
- java中extends与implements的区别
- 艾永亮:美国最大面包连锁品牌如何通过超级产品战略成为行业第一
- java中ceil怎么用举例_Java ceil() 方法