热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

什么标准("5.000e-M1")应该回答?

如何解决《什么标准("5.000e-M1")应该回答?》经验,为你挑选了1个好方法。

我运行这个程序,

#include 
int main(int argc, char *argv[])
{
    std::cout <

我期待这个结果:

terminate called after throwing an instance of 'std::invalid_argument'
  what():  stod

但是我得到了5.这对你来说是对的吗?最好的祝福

我处理csv文件,如果我有"5.000e-M1"我需要一个错误而不是5.你知道一个有这种行为的函数吗?



1> Quentin..:

std::stod被指定调用std::strtod.从后者的文件(强调我的):

函数丢弃任何空白字符(由确定std::isspace()),直到找到第一个非空白字符.然后,它需要尽可能多的字符来形成有效的浮点表示并将它们转换为浮点值.

5.000e-M1不是一个有效的浮点表示,但是5.000,它需要并成功.


推荐阅读
author-avatar
我爱上帝爱我
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有