Проверить, содержит ли число с плавающей запятой десятичные дроби или нет

У меня есть ряд классов для этой точной вещи, которую я использую в своей платформе C++.

http://code.google.com/p/kgui/source/browse/trunk/kgui.h

, Как я обрабатываю его, является каждой функцией класса, которая может использоваться в качестве потребностей обратного вызова статическая функция, которая связывает тип объекта с ним. У меня есть ряд макросов, которые делают это автоматически. Это делает статическую функцию с тем же именем кроме с "CB _" префикс и дополнительный первый параметр, который является указателем объекта класса.

Контроль Типы классов kGUICallBack и различные шаблонные версии этого для обработки различных комбинаций параметров.

#define CALLBACKGLUE(classname , func) static void CB_ ## func(void *obj) {static_cast< classname *>(obj)->func();}
#define CALLBACKGLUEPTR(classname , func, type) static void CB_ ## func(void *obj,type *name) {static_cast< classname *>(obj)->func(name);}
#define CALLBACKGLUEPTRPTR(classname , func, type,type2) static void CB_ ## func(void *obj,type *name,type2 *name2) {static_cast< classname *>(obj)->func(name,name2);}
#define CALLBACKGLUEPTRPTRPTR(classname , func, type,type2,type3) static void CB_ ## func(void *obj,type *name,type2 *name2,type3 *name3) {static_cast< classname *>(obj)->func(name,name2,name3);}
#define CALLBACKGLUEVAL(classname , func, type) static void CB_ ## func(void *obj,type val) {static_cast< classname *>(obj)->func(val);}

14
задан Sam Spencer 30 July 2013 в 19:22
поделиться

2 ответа

PHP решение:

function hasDecimals($x)
{
    return floatval($x) - intval($x) != 0;
}
0
ответ дан 1 December 2019 в 05:54
поделиться

В Scala можно использовать isWhole() или isValidInt(), чтобы проверить, не имеет ли число никакой дробной части:

object Example {
  def main(args: Array[String]) = {

    val hasDecimals = 3.14.isWhole //false
    val hasDecimals = 3.14.isValidInt//false

  }
}
0
ответ дан 1 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

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