如何将对象类型转换为float,其中object可以是任何类型的数字,如int,long,float,double等

Pra*_*mod 3 c# casting numbers

我有对象流,可以是int,short,long,float等数字类型...将它转换为数字的最佳方法是什么.最好的方式可能是某种东西 ToNumber(object oNumber)

// Best magic could be
var number = (somemagic) oNumber;

float operator1 = oNumber is int 
  ? (float)(int)oNumber
  : oNumber is long 
     ? (float)(long)oNumber
     : oNumber is float 
        ? (float)oNumber 
        : (float)(int)oNumber;
Run Code Online (Sandbox Code Playgroud)

假设浮动将能够使所有数字期望加倍

Jon*_*eet 11

我相信Convert.ToSingle能够处理你抛出的任何"核心"数字类型.