首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用特定的语言环境在Java中将字符串转换为双精度?

如何使用特定的语言环境在Java中将字符串转换为双精度?
EN

Stack Overflow用户
提问于 2009-05-20 06:01:46
回答 8查看 46.9K关注 0票数 41

我想把一些字符串形式的数字转换成双精度,但这些数字不是美国标准语言环境,而是不同的语言环境。我该怎么做呢?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-20 06:04:50

试试java.text.NumberFormat。在Javadoc中:

若要针对不同的区域设置格式化数字,请在调用getInstance时指定该数字。

NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);

您还可以使用NumberFormat来解析数字:

myNumber = nf.parse(myString);

parse()返回Number;因此,若要获取double,必须调用myNumber.doubleValue()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    double myNumber = nf.parse(myString).doubleValue();

请注意,parse()永远不会返回null,因此这不会导致NullPointerException。相反,如果失败,parse会抛出一个检查过的ParseException

编辑:我最初说过还有另一种方法可以将结果转换为double:将结果转换为Double并使用拆箱。我认为由于使用了一个通用的NumberFormat实例(根据getInstance的Javadoc,它总是返回一个Double。但DJClayworth指出,parse(String, ParsePosition)的Javadoc(由parse(String)调用)表示,如果可能的话,会返回一个Long。因此,将结果转换为 Double 是不安全的,不应该尝试!

谢谢,DJClayworth!

票数 69
EN

Stack Overflow用户

发布于 2009-05-20 06:17:59

NumberFormat是不错的选择,但是你应该意识到当你的数据不是100%正确的时候,它的特性就会出现。

我发现以下内容很有用:

http://www.ibm.com/developerworks/java/library/j-numberformat/index.html

如果你的输入是可信的,那么你就不必担心了。

票数 7
EN

Stack Overflow用户

发布于 2014-01-26 04:04:30

只是学习java和编程。也有类似的问题。在我的课本上找到了这样的东西:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Scanner sc = new Scanner(string);
double number = sc.nextDouble();

书中说,扫描器自动解码字符串变量中的内容,scanner类自动适应设置的区域设置的语言,系统区域设置是默认设置,但这很容易设置为其他设置。

我用这种方式解决了我的问题。也许这可以解决上面的问题,而不是解析?

另外:我喜欢这种方法的原因是,当使用swing对话框进行输入,然后尝试使用parse将字符串转换为double时,我得到了一个NumberFormatException。事实证明,parse只使用US-number格式,而Scanner可以处理所有格式。Scanner即使使用逗号(,)十进制分隔符也能完美地输入。由于投票最多的答案是使用parse,我真的看不出它将如何解决这个特定的问题。您必须以美国格式输入数字,然后将其转换为您的区域设置格式。当一个数字键盘带有逗号时,这是相当不方便的。

现在你们可以自由地把我撕成碎片了;)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/888088

复制
相关文章
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2022/08/04
2.3K0
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2018/09/19
5.8K0
WPF 修改按钮按下的颜色
fastadmin如何在列表的操作中添加其他按钮
fastadmin默认的列表操作中只有编辑和删除按钮,如果我们需要添加其他按钮,需要先找到对应的js文件。我们需要在初始化表格中添加buutons属性,原来的js代码如下:
高久峰
2023/06/03
4.3K0
win10 uwp 按下等待按钮
我们需要一个值让我们知道是不是已经完成了后台,按钮可以按下,在按下时,自动让按钮IsEnable为false。
林德熙
2018/09/18
7590
win10 uwp 按下等待按钮
WordPress网站底部的自定页面(如:网站地图等)按钮美化教程
最近浏览博客,看到不少朋友这个底部的美化,我也觉得底部的这些按钮平平无奇,就想着用css设置一个样式,从而美化按钮方法,至此分享给大家。
文曦
2022/06/09
1K0
WordPress网站底部的自定页面(如:网站地图等)按钮美化教程
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2022/08/09
1.2K0
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2018/09/18
1.5K0
生产管道中的智能剪辑
本文来自SF Video Technology 2019的一篇演讲,演讲者是来自Netflix编码团队的Eric Reinecke,该演讲主要讨论如何利用生产管道中编辑的反馈信息,帮助全产业工作者更高效率地完成工作。
用户1324186
2020/02/13
1.6K0
flutter - 如何在DartFlutter中按字母顺序对Set String进行排序?
问?我知道有List<string>,但是我需要使用Set<string>。有没有一种方法可以按字母顺序对其进行排序?
徐建国
2021/08/03
6.8K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
28.8K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
django import_export 按用户类型显示导入导出按钮
@admin.register(InvestProject) # class InvestProjectAdmin(admin.ModelAdmin): class InvestProjectAdmin(ImportExportActionModelAdmin, ImportExportModelAdmin): """ 投资项目 """ list_display = list_display_links = \ ["name", "code", "is_go
卓越笔记
2023/02/18
6890
如何在Redis里按模式删除数据
一台Redis服务器在很短的时间里消耗了几十个G的内存,最终因为SWAP而宕机。因为这台服务器的社会背景比较复杂,所以一时无法判断犯罪嫌疑人到底是谁。
LA0WAN9
2021/12/14
4790
直播视频网站源码,按钮背景点击按下变色
以上就是直播视频网站源码,按钮背景点击按下变色的相关代码, 更多内容欢迎关注之后的文章
yunbaokeji柯基
2020/11/11
1.6K0
直播视频网站源码,按钮背景点击按下变色
FPGA按一下按键,对应端口输出单个脉冲
对于FPGA的verilog语言,,,规定一个变量不能在多个always中被赋值.但是可以在多个alway块中做判断--结合状态机思想 module state(key,led,clk); input key;//输入按键 input clk;//输入时钟48M output reg led;//输出led reg state=0;//记录按钮状态 reg[27:0] cnt=0;//计数器 always@(*) begin if(key == 0)//按下了 state = 1;
杨奉武
2018/04/18
1.5K0
[C#]不通过事件方式获取键盘按钮按下的状态
源码来自:https://www.pinvoke.net/default.aspx/user32/GetKeyboardState.html
CNXY
2020/10/27
3.5K0
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
点击加载更多

相似问题

如何在flash中定义动画电影剪辑的注册点

17

如何批量编辑swf动画电影剪辑的形状?

11

如何在Django中按一下按钮?

13

按一下按钮,按一下反应。

11

按一下按钮,按一下钩子

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文