{"name":"getNumber","operator":null,"title":"getNumber","type":"command","url":"https://community.bistudio.com/wiki/getNumber","revid":322306,"updated":"2022-05-30T13:22:38Z","groups":["Config"],"status":"ok","replaced_by":[],"games":[{"game":"arma1","name":"Armed Assault","version":"1.00"},{"game":"arma2","name":"Arma 2","version":"1.00"},{"game":"arma2oa","name":"Arma 2: Operation Arrowhead","version":"1.50"},{"game":"tkoh","name":"Take On Helicopters","version":"1.00"},{"game":"arma3","name":"Arma 3","version":"0.50"}],"since":{"game":"arma1","name":"Armed Assault","version":"1.00"},"arma3_since":"0.50","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"description":"Extract number from config entry.","syntaxes":[{"syntax":"getNumber config","since":null,"effect":null,"exec":null,"params":[{"name":"config","type":"Config","optional":false,"default":null,"description":null,"types":["Config"],"since":null,"text":"config: Config"}],"returns":{"type":"Number","types":["Number"],"description":null,"text":"Number"},"form":"unary","operator":null,"left":null,"right":{"text":"config","types":["Config"]}}],"examples":[{"text":"```sqf\n_value = getNumber (configFile >> \"CfgVehicles\" >> \"Thing\" >> \"maxSpeed\");\n```","code":["_value = getNumber (configFile >> \"CfgVehicles\" >> \"Thing\" >> \"maxSpeed\");"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["configFile","a / b","configName","count","getArray","getText","inheritsFrom","isArray","isClass","isNumber","isText","select"],"notes":[{"user":"Donnervogel","date":"2007-03-03T04:45:00Z","text":"Use getNumber to get boolean values from a config entry. 1 equals true, 0 equals false."},{"user":"Loki","date":"2011-09-13T00:44:00Z","text":"With an not existing entry, getNumber returns 0."},{"user":"ffur2007slx2_5","date":"2014-03-28T07:53:00Z","text":"(Arma 3 1.14), It's recommended to use BIS_fnc_getCfgData or BIS_fnc_returnConfigEntry to get variable cfg data rather than conditioning via isNumber, isText, isArray, getNumber, getText and getArray combination.\n\nTraditional workaround:\n\n```sqf\nprivate _cfg = configFile >> \"CfgVehicles\" >> _SomeAddonClassName >> \"DestructionEffects\" >> \"Smoke1\" >> \"type\";\nswitch (true) do\n{\n    case (isNumber _cfg):    { getNumber _cfg };\n    case (isText _cfg):        { getText _cfg };\n    case (isArray _cfg):    { getArray _cfg };\n    default                    { nil };\n};\n```\n\n**Recommended workaround:**\n\n```sqf\n(configFile >> \"CfgVehicles\" >> _SomeAddonClassName >> \"DestructionEffects\" >> \"Smoke1\" >> \"type\") call BIS_fnc_getCfgData;\n```\n\nTo return default value once entry was not found, we can use BIS_fnc_returnConfigEntry instead of BIS_fnc_getCfgData.\n\n```sqf\n[(configFile >> \"CannonFire\" >> \"LightExp\"),\"lifeTime\",0] call BIS_fnc_returnConfigEntry; // 0.5\n```\n\nTo compose collected Number into Array, use BIS_fnc_getCfgDataArray instead.\n\n```sqf\n(configFile >> \"CfgVehicles\" >> _SomeAddonClassName >> \"DestructionEffects\" >> \"Smoke1\" >> \"type\") call BIS_fnc_getCfgDataArray;\n```\n\nTo retype collected Number into Boolean, use BIS_fnc_getCfgDataBool. Anything bigger than 0 is true, otherwise false.\n\n```sqf\n(configFile >> \"CfgVehicles\" >> _SomeAddonClassName >> \"DestructionEffects\" >> \"Smoke1\" >> \"type\") call BIS_fnc_getCfgDataBool;\n```"}],"categories":["ArmA: Armed Assault: New Scripting Commands","ArmA: Armed Assault: Scripting Commands","Arma 2: Operation Arrowhead: Scripting Commands","Arma 2: Scripting Commands","Arma 3: Scripting Commands","Command Group: Config","Introduced with Armed Assault version 1.00","Scripting Commands","Take On Helicopters: Scripting Commands"]}