Какая функция преобразует число в строку
Перейти к содержимому

Какая функция преобразует число в строку

  • автор:

Python число в строку

Чтобы конвертировать число в строку, используйте встроенную функцию str() . Эта функция в качестве входящих данных принимает число (или другой тип данных), а в результате выдает строку.

Примеры

Вот один пример:

>>> str(123) '123'

Если число является значением переменной, конвертировать его можно следующим образом:

>>> number = 999 >>> number_as_string = str(number) >>> number_as_string '999'

Конкатенация строк и чисел в Python

Иногда возникает необходимость сконструировать строку, содержащую число из другой переменной. Вот пример, как это делается:

>>> week = 33 >>> greeting = "it is week " + str(week) >>> greeting 'it is week 33'

Избегаем преобразования типов данных

Когда разработчикам нужно объединить число и строку, они обычно применяют функцию str() непосредственно перед выводом данных на экран. Например:

>>> name = "Bob" >>> age = 33 >>> print(name + " is " + str(age) + " years old") Bob is 33 years old

Но гораздо более чистый способ — применять к строкам метод .format() :

>>> print(" is years old".format(name=name, age=age)) Bob is 33 years old

А еще лучше — использовать f-строки (Python 3):

>>> print(f" is years old") Bob is 33 years old

Преобразование типов

Чаще всего операторы и функции автоматически приводят переданные им значения к нужному типу.

Например, alert автоматически преобразует любое значение к строке. Математические операторы преобразуют значения к числам.

Есть также случаи, когда нам нужно явно преобразовать значение в ожидаемый тип.

Пока что мы не говорим об объектах

В этой главе мы не касаемся объектов. Сначала мы разберём преобразование примитивных значений.

Мы разберём преобразование объектов позже, в главе Преобразование объектов в примитивы.

Строковое преобразование

Строковое преобразование происходит, когда требуется представление чего-либо в виде строки.

Например, alert(value) преобразует значение к строке.

Также мы можем использовать функцию String(value) , чтобы преобразовать значение к строке:

let value = true; alert(typeof value); // boolean value = String(value); // теперь value это строка "true" alert(typeof value); // string

Преобразование происходит очевидным образом. false становится «false» , null становится «null» и т.п.

Численное преобразование

Численное преобразование происходит в математических функциях и выражениях.

Например, когда операция деления / применяется не к числу:

alert( "6" / "2" ); // 3, строки преобразуются в числа

Мы можем использовать функцию Number(value) , чтобы явно преобразовать value к числу:

let str = "123"; alert(typeof str); // string let num = Number(str); // становится числом 123 alert(typeof num); // number

Явное преобразование часто применяется, когда мы ожидаем получить число из строкового контекста, например из текстовых полей форм.

Если строка не может быть явно приведена к числу, то результатом преобразования будет NaN . Например:

let age = Number("Любая строка вместо числа"); alert(age); // NaN, преобразование не удалось

Правила численного преобразования:

Значение Преобразуется в…
undefined NaN
null 0
true / false 1 / 0
string Пробельные символы (пробелы, знаки табуляции \t , знаки новой строки \n и т. п.) по краям обрезаются. Далее, если остаётся пустая строка, то получаем 0 , иначе из непустой строки «считывается» число. При ошибке результат NaN .
alert( Number(" 123 ") ); // 123 alert( Number("123z") ); // NaN (ошибка чтения числа на месте символа "z") alert( Number(true) ); // 1 alert( Number(false) ); // 0

Учтите, что null и undefined ведут себя по-разному. Так, null становится нулём, тогда как undefined приводится к NaN .

Большинство математических операторов также производит данное преобразование, как мы увидим в следующей главе.

Логическое преобразование

Логическое преобразование самое простое.

Происходит в логических операциях (позже мы познакомимся с условными проверками и подобными конструкциями), но также может быть выполнено явно с помощью функции Boolean(value) .

  • Значения, которые интуитивно «пустые», вроде 0 , пустой строки, null , undefined и NaN , становятся false .
  • Все остальные значения становятся true .
alert( Boolean(1) ); // true alert( Boolean(0) ); // false alert( Boolean("Привет!") ); // true alert( Boolean("") ); // false

Заметим, что строка с нулём «0» — это true

Некоторые языки (к примеру, PHP) воспринимают строку «0» как false . Но в JavaScript, если строка не пустая, то она всегда true .

alert( Boolean("0") ); // true alert( Boolean(" ") ); // пробел это тоже true (любая непустая строка это true)

Итого

Существует 3 наиболее широко используемых преобразования: строковое, численное и логическое.

Строковое – Происходит, когда нам нужно что-то вывести. Может быть вызвано с помощью String(value) . Для примитивных значений работает очевидным образом.

Численное – Происходит в математических операциях. Может быть вызвано с помощью Number(value) .

Преобразование подчиняется правилам:

Значение Становится…
undefined NaN
null 0
true / false 1 / 0
string Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то получаем 0 , иначе из непустой строки «считывается» число. При ошибке результат NaN .

Логическое – Происходит в логических операциях. Может быть вызвано с помощью Boolean(value) .

Значение Становится…
0 , null , undefined , NaN , «» false
любое другое значение true

Большую часть из этих правил легко понять и запомнить. Особые случаи, в которых часто допускаются ошибки:

  • undefined при численном преобразовании становится NaN , не 0 .
  • «0» и строки из одних пробелов типа » » при логическом преобразовании всегда true .

В этой главе мы не говорили об объектах. Мы вернёмся к ним позже, в главе Преобразование объектов в примитивы, посвящённой только объектам, сразу после того, как узнаем больше про основы JavaScript.

Как перевести число в строку в Javascript?

Чтобы преобразовать число в строку необходимо вызвать метод toString() у числа.

const number = 5555; const notNumber = number.toString(); 

теперь в notNumber находит не число, а строка. Проверить можно с помощью typeof

typeof notNumber; // 'string' 

Также это сработает с отрицательными числами

const negative = -150; const notNegativeNumber = negative.toString(); console.log(notNegativeNumber); // => '-150' - теперь это строка. 

Из этого числа мы можем взять символ.

const firstChar = notNegativeNumber[0]; console.log(firstChar); // => '-' 

Как преобразовать число в строку? Нужна функция

Знаю функцию «atof» для преобразования строки в число float, но нужно обратную. Нашел ‘itoa’ , но компилятор не узнает функцию, какую библиотеку использовать, те что нашёл не помогают. Быть может в новой версии с++ убрали, может знает кто, решение данной проблемы ? Либо другую функцию, делающую то же самое. P.s. Ошибся в начале. Написал нужно преобразовать строку в число.

Отслеживать

задан 10 ноя 2019 в 14:25

79 1 1 золотой знак 2 2 серебряных знака 8 8 бронзовых знаков

sprintf подойдет?

10 ноя 2019 в 14:26

itoa сокращенно integer to ascii и она не является стандартом) судя по вопросу вам наоборот, попробуйте atoi

10 ноя 2019 в 14:27

std::to_string

10 ноя 2019 в 14:28

Упс, ошибся наоборот. Нужно число перевести в строку

10 ноя 2019 в 15:04

Функции itoa никогда не существовало. Поэтому никакое «в новой версии с++ убрали» тут ни при чем.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *