“变量转换”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
无编辑摘要
 
第14行: 第14行:
:(1) if no absolute value exceeds 32767, then the array is returned as a type INTEGER instead of LONG
:(1) if no absolute value exceeds 32767, then the array is returned as a type INTEGER instead of LONG
:(2) NINT will work on strings, e.g. print,nint(['3.4','-0.9']) will give [3,-1], whereas ROUND() gives an error message
:(2) NINT will work on strings, e.g. print,nint(['3.4','-0.9']) will give [3,-1], whereas ROUND() gives an error message

==消除变量==
*temporary(var)

2016年6月9日 (四) 10:37的最新版本

浮点数转成整数

  • round:四舍五入
IDL>print,round(5.1),round(5.9)
IDL> 5, 6
  • ceil:向上进
IDL>print,ceil(5.1),ceil(5.9)
IDL> 6, 6
  • floor:截取整数
IDL>print,floor(5.1),floor(5.9)
IDL> 5, 5
  • 结果是long型的整数,要转换更大的数,加上/L64
  • astro_lib中的nint程序,可以代替round,而且
(1) if no absolute value exceeds 32767, then the array is returned as a type INTEGER instead of LONG
(2) NINT will work on strings, e.g. print,nint(['3.4','-0.9']) will give [3,-1], whereas ROUND() gives an error message

消除变量

  • temporary(var)