[TS] Parse a string to an integer
Posted Answer1215
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[TS] Parse a string to an integer相关的知识,希望对你有一定的参考价值。
A common interview question is to write? a?function?that?converts? a? string?into?an?integer e.g. "123"
=> 123
.? This? function ?is commonly? called? atoi
because? we? are? converting? an? ASCII? string? into ?an ?integer.
In this lesson we cover the proper way to do this in javascript which is parseInt
along with implementing it using basic ascii math.
Writing a function whichi convert string to number, to do that
1. Convert each "string" char to ASCII code by using
str.charCodeAt(index)
2. Each round, we should increase the acc value by *10
function atoi (str: string): number { const zeroCode = ‘0‘.charCodeAt(0); console.log("zeroCode", zeroCode); let sub = 1; if(str[0] === ‘-‘) { sub = -1; str = str.substring(1); console.log("sub string", str); } return sub * str.split(‘‘) .reduce((acc, curr) => { acc = acc * 10 + (curr.charCodeAt(0) - zeroCode) return acc; }, 0) } console.log(atoi("123")); //123 console.log(atoi("-123")); //-123
import { atoi } from ‘./atoi‘; test(‘basic‘, () => { expect(atoi(‘123‘)).toBe(123); expect(atoi(‘-1123‘)).toBe(-1123); });
以上是关于[TS] Parse a string to an integer的主要内容,如果未能解决你的问题,请参考以下文章
An exception has occurred, use %tb to see the full traceback.----parser.parse_args()报错
Wildfly 8.2.1 final throw AN EXCEPTION JBAS014676: Failed to parse configuration
记一次使用pm2运行node+ts项目,ts-node报错问题To load an ES module, set “type“: “module“ in the package.json or use
Template parse errors: Can't bind to 'ngModel' since it isn't a known property of
LINQ to Entities 无法识别方法“Int32 Parse(System.String)”方法,并且该方法无法转换为存储表达式