Как обнаружить, если данное число является целым числом?

Проверьте Систему. Время выполнения. Сериализация. Пространство имен Json, включенное с.NET 3.5.

27
задан Zuul 7 August 2013 в 16:58
поделиться

8 ответов

: / Общий шаблон «singleton» Джудит Бишоп кажется некорректным, всегда можно создать несколько экземпляров типа T, поскольку конструктор должен быть общедоступным, чтобы использовать его в этом «шаблоне». На мой взгляд, он не имеет абсолютно ничего общего с синглтоном, это просто своего рода фабрика, которая всегда возвращает один и тот же объект, но не делает его синглтоном ... пока может быть более одного экземпляра класса, который он не может быть синглом. Есть ли причина, по которой этот шаблон является самым популярным?

public sealed class Singleton
{
  private static readonly Singleton _instance = new Singleton();

  private Singleton()
  {
  }

  public static Singleton Instance
  {
    get
    {
      return _instance;
    }
  }
}

Статические инициализаторы считаются потокобезопасными .. Я не знаю, но вы вообще не должны использовать идиомы singleton, если вы поместите мой код над его не более чем 3 строками ... и наследование от синглтона тоже не имеет смысла.

но не будет работать с восьмеричными числами (т.е. числовыми строками с нулем в начале), поскольку они распознаются parseInt () , но не Number () . Если вам нужно обрабатывать десятичные строки с ведущими нулями, вам нужно будет указать аргумент radix.

54
ответ дан 28 November 2019 в 04:24
поделиться

Разве это не сработает:

if (parseInt(number, 10) == number)
{
  alert(number + " is an integer.");
}
2
ответ дан 28 November 2019 в 04:24
поделиться

Как насчет этого:

if((typeof(no)=='number') && (no.toString().indexOf('.')==-1))
2
ответ дан 28 November 2019 в 04:24
поделиться

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

0
ответ дан 28 November 2019 в 04:24
поделиться

Вы можете использовать формальное определение целого числа:

Math.floor(x) === x
4
ответ дан 28 November 2019 в 04:24
поделиться

Это работает:

if (Math.floor(x) == x)
10
ответ дан 28 November 2019 в 04:24
поделиться
6
ответ дан 28 November 2019 в 04:24
поделиться

Существует функция javascript с именем isNaN (val), которая возвращает истину, если val не является числом.

Если вы хотите использовать val как число, вам нужно выполнить приведение с помощью parseInt ( ) или parseFloat ()

РЕДАКТИРОВАТЬ: ой. Исправлена ​​ошибка, указанная в комментарии

.
-1
ответ дан 28 November 2019 в 04:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: