面360的时候这道题目加了一个要求就是要求小数输出整数,故增加一个关于小数点的判断

要注意转义字符:“.”和“|”都是转义字符,必须得加"\\"。同理:*和+也是如此的。
如果用“.”作为分隔的话,必须是如下写法:
String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
如果用“|”作为分隔的话,必须是如下写法:
String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");

public class Solution49 {
public static void main(String[] args) {
String str = "-12345.8";
System.out.println(StrToInt(str));
} public static int StrToInt(String str) {
//1.字符串为空
if (str.trim().length()==0||str == null) {
return 0;
}
//2.判断是否为负数
int flag = 1;
if (str.charAt(0)=='-') {
flag = -1;
}
//4.如果遇到小数点
if (str.contains(".")) {
if (str.indexOf(".")!=str.lastIndexOf(".")) {
return 0 ;
}
String[] split = str.split("\\.");
str = split[0];
}
//3.开始循环遍历这个字符串
int res = 0;
for (int i = 0; i < str.length(); i++) {
char everyWord = str.charAt(i);
//符号位
if (i==0 && (everyWord=='+'||everyWord=='-')) {
continue;
}
//非法输入
if (everyWord<'0'||everyWord>'9') {
return 0;
}
//合法输入,取出一位,如果后面还有数字就左移(*10)
res = res*10 + everyWord-'0';
}
return (res*flag);
}
}

49.字符串转int的更多相关文章

  1. 猜随机数(控制台输入,字符串转int)

    package com.hanqi.suijishu; import java .util.Random; // main方法类 专门用来运行方法 public class Main { public ...

  2. python3 isinstance()判断元素是否是字符串、int型、float型

    python3 isinstance()判断元素是否是字符串.int型.float型 isinstance是Python中的一个内建函数 语法: isinstance(object, classinf ...

  3. MFC各个控件之间运用SendMessage()传送CString和char[]字符串,以及int类型数据

    LRESULT SendMessage( HWND hWnd, // handle to destination window UINT Msg, // message WPARAM wParam, ...

  4. 2019-2-28-C#-16-进制字符串转-int-

    title author date CreateTime categories C# 16 进制字符串转 int lindexi 2019-02-28 11:51:36 +0800 2018-04-2 ...

  5. 字符,字符串,int之间互相转换

    字符转换成字符串:String str = String.valueOf(ch); 字符转换成int: int a = ch; 字符串转换成字符:char ch = str.charAt(0); 字符 ...

  6. 字符串,int,十六进制间转换

    public class TypeConvert { . /* 字符串转byte[] 03. 这个方法转换后的结果是会多一些 48字符进来的就是代表的是0不知道为什么,但是可以只是取出指定的字符串就行 ...

  7. MySQL 字符串 转 int/double CAST与CONVERT 函数的用法

    http://hongmin118.iteye.com/blog/2029728   转的 MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值.两者具体的语 ...

  8. C#字符串转INT

    Convent.ToInt32(string ) 可以转化字符串   其他 * .tostring();   (int ) char //强制类型转换 不能转化字符串

  9. IP地址字符串与int整数之间的无损转化

    今天鹅厂店面,最后问了一个ip地址字符串和整数间无损转化的问题,晚上有时间了手撸了一下代码. public class IPstr { public static void main(String a ...

随机推荐

  1. GraphQL搭配MongoDB入门项目实战

    什么是GraphQL GraphQL 是一种面向 API 的查询语言.在互联网早期,需求都以 Web 为主,那时候数据和业务需求都不复杂,所以用 RestAPI 的方式完全可以满足需求.但是随着互联网 ...

  2. R并行计算

    # 参考文献: https://cosx.org/2016/09/r-and-parallel-computinghttps://blog.csdn.net/sinat_26917383/articl ...

  3. 创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色

    我们之前创建的plugin都是使用default的 run in User's Context. 理解就是使用正在登陆的security context用户信息 那有个问题,如果当前用户的securi ...

  4. Python之 Virtualenv简明教程

    virtualenv通过创建独立Python开发环境的工具, 来解决依赖.版本以及间接权限 问题. 比如一个项目依赖Django1.3 而当前全局开发环境为Django1.7, 版本跨度过大, 导致不 ...

  5. js 中逻辑为 false 的8种情况

    如果对象无初始值或者其值为 数字0.-0.null."".false.undefined 或者 NaN,那么对象的逻辑值为 false. 注意:字符串 '0',值为 true ty ...

  6. swoole之代码热更新实现 转自https://blog.csdn.net/nep_tune/article/details/81329918

    随着swoole的版本迭代更新,已经足够稳定了,在阿里,腾讯,yy等各大公司都有着使用,也有很多游戏圈里的朋友也在使用,这些朋友经常会提到一个问题,每次代码更新还需要停止服务,然后重新启动,来达到更新 ...

  7. docker systemctl无法使用

    Dockerfile for systemd base image FROM centos:7 ENV container docker RUN (cd /lib/systemd/system/sys ...

  8. fatal error: No such file or directory

    在fase_ws中编译ground_car包,遇如下报错: /home/gordon/fase_ws/src/fsae/ground_car/plugins/gazebo_ros_block_lase ...

  9. JIRA的邮件通知

    提交测试或提交上线申请时发送给相关的开发人员.测试人员.运维人员. 使用插件Notification

  10. ARC085E MUL

    https://atcoder.jp/contests/arc085/tasks/arc085_c 题目大意 略 解法 最小割即可. 直接建图有负边,但是因为我们知道最后在割上的边数一定为 \(N\) ...