Перейти к содержимому

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

  • автор:

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

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

Например, 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.

Преобразование строки в число в Python. Особенности преобразования числа в строку

Python_Deep_21.1-5020-77b56f.png

Иногда нам нужно выполнить преобразование строки в целое число либо в число с плавающей точкой. Потребность в этом возникает для осуществления ряда операций. Как это сделать в Python, мы сейчас и поговорим.

Чтобы осуществить преобразование строки в целое число либо число с плавающей точкой, в Python используют функции int и float. Если вы захотите выполнить преобразование без применения данных функций, то получите ошибку. Например, к ошибке приведёт следующий код:

 
str_a = ’50’ b = 10 c = str_a + b print (c)
Преобразование строки в целое число с помощью int() в Python

Давайте посмотрим на следующий участок кода:

 
str_a = '50' b = 10 c = int(str_a) + b print ("The value of c = ",c)

С его помощью мы выведем значение переменной «c», которое будет представлять собой сумму переменных «str_a» и «b».

Преобразуем десятичную строку в число с плавающей точкой в Python

Для преобразования строки в число с плавающей точкой мы можем использовать float:

 
#Преобразование string во float str_a = '50.85' b = 10.33 c = float(str_a) + b print ("The value of c = ",c)

Однако учтите, что если вы захотите задействовать тут функцию int() , это приведёт к ошибке.

Преобразуем список строковых чисел в список целых чисел в Python

Бывает, что в Python необходимо выполнить преобразование строки из чисел, содержащихся в списке. В таких случаях нам поможет генератор списков. Таким образом создаётся новый список, где можно использовать функцию int() в каждой итерации:

 
#Преобразование string в int в списке str_lst = ['1', '2', '3'] int_lst = [int(x) for x in str_lst] print (int_lst)

Мы выведем новый список, который будет состоять из целых чисел, полученных из строк.

Преобразуем список строк в список чисел с плавающей точкой в Python

Аналогично можно применять float вместо int для выполнения преобразования списка, включающего в себя строки из целых чисел:

 
#Преобразование string во float в списке str_lst = ['10.505', '2.3', '3.99'] float_lst = [float(x) for x in str_lst] print (float_lst)
Преобразование строки с запятыми в число в Python

Что делать, если у нас строка наподобие «1,000,000»? Если мы попробуем выполнить её преобразование с помощью функций int() либо float() , мы получим ошибку.

Одно из решений — применение import locale:

 
locale.setlocale(locale.LC_ALL, ‘en_US.UTF-8’ )

Приём работает, но он не идеален. Другое решение — заменить запятые на пустые строки, а потом применить уже известную нам функцию int:

 
str_a = '5,123,000' int_b = int(str_a.replace(',','')) print ("The integer value",int_b)

Результат — целое значение. Это же решение мы можем использовать и для преобразования строки в число с плавающей точкой в Python.

Преобразование строки в число при расчёте високосного года в Python

Как известно, пользовательский ввод в «Пайтоне» воспринимается как строка. К примеру, в следующем коде программа попросит пользователя ввести год, а после ввода значений программа сообщит, является ли этот год високосным. При этом введённое значение сначала будет преобразовано в целое число, а потом будет задействована формула расчёта високосного года:

 
#Расчёт високосного года try: Y = int(input("Enter a Year? ")) exceptValueError: print ("You may only enter digits in '2000' format!") else: leap_or_not = Y%4 == 0 ifleap_or_not: print ("Leap year") else: print ("Not a leap year")

Таким образом происходит преобразование вводимой строки в целое число, а потом это число применяется для расчёта.

Как преобразовать целое число в строку в Python?

При выполнении преобразования целых чисел в строки используется функция str() . Она принимает объект, который может иметь тип int, float, double и так далее.

Давайте посмотрим на пример преобразования переменной int в строку, которая потом применяется как строка для конкатенации:

 
#Преобразование int в string a_string = "str function for int to string" a_num = 456 print (a_string + str(a_num))

Результат будет следующим:

 
str function for int to string456

Кстати, если бы целочисленная переменная была нами использована без str() , результатом стала бы ошибка TypeError.

Преобразуйте числовые значения в текст

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

Преобразование в строки

Перед R2016b преобразуйте в векторы символов с помощью num2str .

Чтобы преобразовать номер в строку, которая представляет его, используйте string функция.

str = string(pi)
str = "3.1416"

string функция преобразует числовой массив в массив строк, имеющий тот же размер.

A = [256 pi 8.9e-3]; str = string(A)
str = 1x3 string "256" "3.141593" "0.0089"

Можно задать формат синтезируемого текста с помощью compose функция, которая принимает спецификаторы формата для точности, ширины поля и экспоненциального представления.

str = compose("%9.7f",pi)
str = "3.1415927"

Если вход является числовым массивом, то compose возвращает массив строк. Возвратите массив строк, который представляет числа с помощью экспоненциального представления.

A = [256 pi 8.9e-3]; str = compose("%5.2e",A)
str = 1x3 string "2.56e+02" "3.14e+00" "8.90e-03"

Добавьте числа в строки

Перед R2016b преобразуйте числа в векторы символов и конкатенируйте символы в скобках, [] .

Самый простой способ объединить текст и числа состоит в том, чтобы использовать plus оператор + ). Этот оператор автоматически преобразует числовые значения в строки, когда другие операнды являются строками.

Например, постройте синусоиду. Вычислите частоту волны и добавьте строку, представляющую то значение в заголовке графика.

X = linspace(0,2*pi); Y = sin(X); plot(X,Y) freq = 1/(2*pi); str = "Sine Wave, Frequency = " + freq + " Hz"
str = "Sine Wave, Frequency = 0.15915 Hz"
title(str)

Figure contains an axes object. The axes object with title Sine Wave, Frequency = 0.15915 Hz contains an object of type line.

Иногда существующий текст хранится в векторах символов или массивах ячеек из символьных векторов. Однако plus оператор также автоматически преобразует те типы данных к строкам, когда другой операнд является строкой. Чтобы объединить числовые значения с теми типами данных, сначала преобразуйте числовые значения в строки, и затем используйте plus объединить текст.

str = 'Sine Wave, Frequency = ' + string(freq) + ' Hz'>
str = "Sine Wave, Frequency = 0.15915 Hz"

Коды символов

Если ваши данные содержат целые числа, которые представляют значения Unicode®, используют char функционируйте, чтобы преобразовать значения в соответствующие символы. Выход является вектором символов или массивом.

u = [77 65 84 76 65 66]; c = char(u)
c = 'MATLAB'

Преобразование значений Unicode также позволяет вам включать специальные символы в текст. Например, значение Unicode для символа степени равняется 176. Добавить char(176) к строке используйте plus .

deg = char(176); temp = 21; str = "Temperature: " + temp + deg + "C"
str = "Temperature: 21°C"

Перед R2016b используйте num2str преобразовать числовое значение в вектор символов, и затем конкатенировать.

str = ['Temperature: ' num2str(temp) deg 'C']
str = 'Temperature: 21°C'

Шестнадцатеричные и двоичные значения

Начиная с R2019b

Можно представлять шестнадцатеричные и двоичные значения в коде или текст использования или использование литералов . Рекомендуемый способ представлять их состоит в том, чтобы записать им как литералы. Можно записать шестнадцатеричные и бинарные литералы с помощью 0x и 0b префиксы соответственно. Однако может иногда быть полезно представлять такие значения как текст, с помощью dec2hex или dec2bin функции.

Например, установите немного в двоичном значении. Если вы задаете двоичное значение с помощью литерала, то оно хранится как целое число. После установки одного из битов отобразите новое двоичное значение как текст с помощью dec2bin функция.

register = 0b10010110
register = uint8 150
register = bitset(register,5,0)
register = uint8 134
binStr = dec2bin(register)
binStr = '10000110'

Смотрите также

Похожие темы

  • Преобразуйте текст в числовые значения
  • Шестнадцатеричные и двоичные значения
  • Преобразование между массивами datetime, числами и текстом
  • Форматирование текста
  • Unicode и значения ASCII

Открытый пример

У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

Документация MATLAB

Поддержка

  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2021 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

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

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

Когда мы складываем 5 и 5 , то ожидаем увидеть вывод — 10 . Однако, получаем 55 и видим, что тип данных — не число, а строка.

Язык JavaScript автоматически преобразовал переменную a в строку и соединил ее с переменной b в одну строку.

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

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека фронтендера»

Преобразование в строку в JavaScript

Чтобы преобразовать число в строку используют функцию String() .

var a = 5; //число a = String(a);//преобразует переменную а в строку alert(typeof(a));//выведет string 

Преобразование в число в JavaScript

Чтобы преобразовать данные в число используют функцию Number() . Попробуем преобразовать строковое значение 5 в число.

var a = "5";//строка a = Number(a); //преобразует переменную а в число alert(typeof(a));//выведет number 

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

var a = "5"; //строка var b = "5"; //строка var c = a/b; alert(c);//выведет 1, что мы и ожидаем при делении 5 на 5 alert(typeof(c));// выведет number 

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

Для логического преобразования используют функцию Boolean() .

Данные типа пустая строка , NaN , undefined , null — преобразуются в false .

Все остальные данные: числа и строки, преобразуются в true .

var a = "null"; alert(Boolean(a));//выведет false 
var a = "0"; alert(Boolean(a));//выведет true 
var a = " ";//пробел alert(Boolean(a));//выведет true 
var a = "";//пусто, без пробелов и других знаков alert(Boolean(a));//выведет false 

Подведем итоги

JavaScript может преобразовывать данные автоматически:

  • число преобразуются в строки, если их использовать в выражениях со строкой;
  • если в строках находятся числа и с ними выполняют математические операции, то они преобразуются в числа.

Для преобразования используют функции:

  1. String() — преобразует данные в строки.
  2. Number() — преобразует данные в числа.
  3. Boolean() — преобразует данные в логические значения true или false.

Материалы по теме

  • ☕�� Методы массивов в JavaScript для новичков: советы, рекомендации и примеры
  • ☕ 5 крутых функций JavaScript, о которых не знает большинство разработчиков
  • ☕ Твой JavaScript должен быть проще: 10 приемов современного разработчика

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

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