OO-数字串char*与数值int_double之间转换

2023-05-16

OO-数字串char*与数值int_double之间转换

文章目录

    • OO-数字串char*与数值int_double之间转换
  • 一、任务描述
  • 二、TestCase:
    • 2.测试集
  • 需要填空的代码
    • 源代码(可以复制在编译器里面自行调试)
      • 开始你的表演,祝你成功!


一、任务描述

功能: 将数字字符串转换为双精度浮点数

二、TestCase:

输入 ——输出
3.14 —— 3.14,4.14
2020.21——2020.21,2021.21
………

2.测试集

截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需要填空的代码

#include "Comm.h"

class Solution{
public:

double strTof(const char *s){
	
	/************ begin ************/
	   	double power = 1.0;
	    int sign=0,i=0;
		for(i=0;isspace(s[i]);i++);
        while(s[i] == ' ')
		{
            i++;
        }
        //Handling signs
        if(s[i] == '-')
        {
            sign=1;
            i++;
        }
        if(s[i]=='+')
        {
            i++;
        }
        double num=0.0;
        while(s[i])
        {
            
				for(num=0.0;isdigit(s[i]);i++)
                num=num*10+s[i]-'0';

                if (s[i] == '.')
				{
					i++;
				}
                for(power=1.0;isdigit(s[i]);i++)
                {
                    num=num*10+s[i]-'0';
                    power *= 10.0;
	            }
                
				num = num / power;                  //安装小数点 

				return sign? -num : num;			//安装符号 
		}   			
	
	/********** end **********/
}


};

源代码(可以复制在编译器里面自行调试)

#include <stdlib.h>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <queue>
using namespace std;
class Solution{
public:

double strTof(const char *s){
	
	/************ begin ************/
double power = 1.0;
	    int sign=0,i=0;
		for(i=0;isspace(s[i]);i++);
        while(s[i] == ' ')
		{
            i++;
        }
        //Handling signs
        if(s[i] == '-')
        {
            sign=1;
            i++;
        }
        if(s[i]=='+')
        {
            i++;
        }
        double num=0.0;
        while(s[i])
        {
            
				for(num=0.0;isdigit(s[i]);i++)
                num=num*10+s[i]-'0';

                if (s[i] == '.')
				{
					i++;
				}
                for(power=1.0;isdigit(s[i]);i++)
                {
                    num=num*10+s[i]-'0';
                    power *= 10.0;
	            }
                //num=num+49.4;
				num = num / power;                  //安装小数点 

				return sign? -num : num;			//安装符号 
		}   			
	/********** end **********/
}


};

int main(){
	
	string strDec = "0";
		
	//input
	cin>> strDec; //Similar to %s, data acquisition ends when the default separator is encountered
	//getline(cin,num); //Similar to gets, enter a line of characters to origin

	Solution sol;
	 
	cout << strDec << endl;
	cout << sol.strTof(strDec.c_str())+1 << endl;

	return 0;
} 

开始你的表演,祝你成功!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OO-数字串char*与数值int_double之间转换 的相关文章

随机推荐

  • 80个Python经典资料(教程+源码+工具)汇总——下载目录

    大家好 xff0c 51CTO下载中心根据资料的热度和好评度收集了80个Python资料 xff0c 分享给Python开发的同学 内容包括1个Python专题 66个学习资料 7套Python源码和6个相关软件 附件较多 xff0c 无法
  • Jetson Xavier NX使用yolov5+deepsort实现CSI摄像头的目标跟踪

    文章目录 安装过程运行效果用python代码来打开CSI摄像头实现CSI摄像头目标跟踪报错 AttributeError 39 NoneType 39 object has no attribute 39 shape 39 运行效果 参考文
  • 机械周期、时钟周期、脉冲、晶振频率之间的关系

    机械周期 时钟周期 脉冲 晶振频率之间的关系 晶振频率与脉冲的关系时钟周期与脉冲的关系机械周期与时钟周期的关系 整理下学到的机械周期 时钟周期 脉冲 晶振频率之间的关系 晶振频率与脉冲的关系
  • 51单片机的串行接口介绍

    51单片机的串行接口介绍 串行口结构设置工作方式 xff08 串行口控制寄存器SCON xff09 设置波特率 51单片机内部集成1 2个可编程通用异步串行通信接口 xff08 即UART xff09 xff0c 采用全双工制式 该通信接口
  • IIC通信总线寻址

    IIC的使用 IIC总线简介IIC通信时序IIC总线寻址 IIC总线简介 1 IIC总线是一种由PHILIPS公司开发的两线式串行总线 2 IIC在硬件上是时钟总线SCL和数据总线SDA两条线构成 3 器件连接到总线都是SCL连到一起 xf
  • 通过PCF8591读取电压值(AD转换)

    通过PCF8591读取电压值 xff08 AD转换 xff09 A D的主要指标常用A D器件 PCF8591PCF8591的控制字节 A D的主要指标 1 ADC的位数 xff1a n位ADC代表 xff0c 2的n次方个刻度 2 基准源
  • STM32的光敏传感器

    STM32的光敏传感器 简介硬件连接计算公式程序 简介 1 照射光敏二极管的光强不同 xff0c 通过光敏二极管的电流大小就不同 xff0c 所以可以通过检测电流大小 xff0c 达到检测光强的目的 利用这个电流变化 xff0c 我们串接一
  • MPU6050寄存器介绍

    MPU6050寄存器介绍 MPU6050寄存器介绍电源管理寄存器1 xff08 0X6B xff09 陀螺仪配置寄存器 xff08 0X1B xff09 加速度传感器配置寄存器 xff08 0X1C xff09 FIFO使能寄存器 xff0
  • (10)查看RGB摄像头和深度摄像头

    查看RGB摄像头和深度摄像头 RGB摄像头深度摄像头 1 小车开机 xff0c 连接wifi xff0c 远程登录 登录密码 xff1a dongguan ssh wheeltec 64 192 168 0 100 2 挂载 挂载密码 xf
  • (11)色块跟踪

    色块跟踪 一 查看色块追踪的文件位置 xff1a 在ros simple follower文件下的simple followe的Launch文件 二 可调整识别色块的阈值 xff0c 追踪过程中最大速度 xff0c 中距值 xff0c PI
  • (6)ROS与STM32之间的联系

    ROS与STM32之间的联系 简介两者之间的关系两者之间的通信ROS如何在代码层面去接收stm32发送过来的数据1 整体框架2 机器人底盘类3 构造函数4 主函数5 循环功能函数6 析构函数 简介 1 如何实现ROS与stm32之间的通信
  • keil 局部变量不能查看值,显示为not in scope

    关于编译器的优化 xff0c 参考网上的8051系列的说明如下 xff1a xfeff xfeff 0级优化 xff1a 1 常数折叠 xff1a 只要有可能 xff0c 编译器就执行将表达式化为常数数字的计算 xff0c 其中包括运行地址
  • 算法——均方根检波

    均方根检波 1 均方根检波技术2 高精度采样技术3 STM32的ADC4 程序工程文件 1 均方根检波技术 1 均值检波电路通常采用电容充放电电路作为平均值电路 2 由于输出为整流平均值 xff0c 要求电容充放电时间常数相等 3 电容充放
  • 二.LVGL学习——(lv_obj基础对象)

    二 LVGL学习 xff08 lv obj基础对象 xff09 1 介绍2 对象的工作机制3 对象的创建与删除4 Screen 屏幕对象5 实例代码 xff08 1 xff09 6 实例代码 xff08 2 xff09 1 介绍 LVGL是
  • 三.LVGL学习——(Buttons styles)

    三 LVGL学习 xff08 Buttons styles xff09 1 按钮对象样式 2 程序 定义三个lv style t变量 static lv style t style btn 按钮1按下前的样式变量 static lv sty
  • 51单片机串行通信原理

    51单片机串行通信原理 计算机通信串行通信异步通信同步通信数据传送速率传输方向 单片机串行口串行口特殊功能寄存器串行口控制寄存器SCON电源控制寄存器PCON 波特率的设定与计算 PC与多个单片机通信串口如何使用 计算机通信 计算机通信 x
  • 基于动态窗口法(DWA)的局部避障算法研究及MATALB的实现

    一 动态窗口法基本概念 1 1 速度采样空间 1 2 评价函数 二 基于Matlab的机器人局部避障仿真 一 动态窗口法基本概念 动态窗口方法 DynamicWindowApproach 是一种可以实现实时避障的局部规划算法 xff0c 通
  • ROS(python)如何实现1个节点同时订阅2个话题,并实现话题同步,调用同一个callback

    1 创建talker1 span class token comment usr bin env python span span class token comment license removed for brevity span s
  • java与c++的性能比较

    java与c 43 43 的性能比较 参考其他文章 一 从编译器的角度分析性能差异 许多程序员印象中可能认为c 43 43 相比较于java语言性能会更好一点 xff0c 运行速度会快一点 这其中主要是因为java刚出现的时候JIT编译技术
  • OO-数字串char*与数值int_double之间转换

    OO 数字串char 与数值int double之间转换 文章目录 OO 数字串char 与数值int double之间转换 一 任务描述二 TestCase 2 测试集 需要填空的代码源代码 xff08 可以复制在编译器里面自行调试 xf