breakpoint
This commit is contained in:
355
Assets/Plugins/GameDesigner/Component/OtherExt/MathExt.cs
Normal file
355
Assets/Plugins/GameDesigner/Component/OtherExt/MathExt.cs
Normal file
@@ -0,0 +1,355 @@
|
||||
using System;
|
||||
|
||||
#if UNITY_2020_1_OR_NEWER
|
||||
public static class MathExt
|
||||
{
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref byte self, int value, byte oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked((byte)(self + value)),
|
||||
1 => checked((byte)(self - value)),
|
||||
2 => checked((byte)(self * value)),
|
||||
3 => checked((byte)(self / value)),
|
||||
4 => checked((byte)(self % value)),
|
||||
5 => checked((byte)(self ^ value)),
|
||||
6 => checked((byte)(self & value)),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref sbyte self, int value, byte oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked((sbyte)(self + value)),
|
||||
1 => checked((sbyte)(self - value)),
|
||||
2 => checked((sbyte)(self * value)),
|
||||
3 => checked((sbyte)(self / value)),
|
||||
4 => checked((sbyte)(self % value)),
|
||||
5 => checked((sbyte)(self ^ value)),
|
||||
6 => checked((sbyte)(self & value)),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref short self, int value, byte oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked((short)(self + value)),
|
||||
1 => checked((short)(self - value)),
|
||||
2 => checked((short)(self * value)),
|
||||
3 => checked((short)(self / value)),
|
||||
4 => checked((short)(self % value)),
|
||||
5 => checked((short)(self ^ value)),
|
||||
6 => checked((short)(self & value)),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref ushort self, int value, byte oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked((ushort)(self + value)),
|
||||
1 => checked((ushort)(self - value)),
|
||||
2 => checked((ushort)(self * value)),
|
||||
3 => checked((ushort)(self / value)),
|
||||
4 => checked((ushort)(self % value)),
|
||||
5 => checked((ushort)(self ^ value)),
|
||||
6 => checked((ushort)(self & value)),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static int CalcRef(this ref int self, int value, byte oper)
|
||||
{
|
||||
return self = Calc(self, value, oper);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static int Calc(this int self, int value, byte oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked(self + value),
|
||||
1 => checked(self - value),
|
||||
2 => checked(self * value),
|
||||
3 => checked(self / value),
|
||||
4 => checked(self % value),
|
||||
5 => checked(self ^ value),
|
||||
6 => checked(self & value),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref uint self, uint value, byte oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked(self + value),
|
||||
1 => checked(self - value),
|
||||
2 => checked(self * value),
|
||||
3 => checked(self / value),
|
||||
4 => checked(self % value),
|
||||
5 => checked(self ^ value),
|
||||
6 => checked(self & value),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref float self, float value, byte oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
checked
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => self + value,
|
||||
1 => self - value,
|
||||
2 => self * value,
|
||||
3 => self / value,
|
||||
4 => self % value,
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref long self, int value, int oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked(self + value),
|
||||
1 => checked(self - value),
|
||||
2 => checked(self * value),
|
||||
3 => checked(self / value),
|
||||
4 => checked(self % value),
|
||||
5 => checked(self ^ value),
|
||||
6 => checked(self & value),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref ulong self, ulong value, int oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked(self + value),
|
||||
1 => checked(self - value),
|
||||
2 => checked(self * value),
|
||||
3 => checked(self / value),
|
||||
4 => checked(self % value),
|
||||
5 => checked(self ^ value),
|
||||
6 => checked(self & value),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref double self, double value, int oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked(self + value),
|
||||
1 => checked(self - value),
|
||||
2 => checked(self * value),
|
||||
3 => checked(self / value),
|
||||
4 => checked(self % value),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="oper">0<><30><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> 4<><34>ȡģ 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD></param>
|
||||
/// <returns></returns>
|
||||
public static bool Calc(this ref decimal self, decimal value, int oper)
|
||||
{
|
||||
try
|
||||
{
|
||||
self = oper switch
|
||||
{
|
||||
0 => checked(self + value),
|
||||
1 => checked(self - value),
|
||||
2 => checked(self * value),
|
||||
3 => checked(self / value),
|
||||
4 => checked(self % value),
|
||||
_ => throw new Exception("û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||
};
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Net.Event.NDebug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
|
||||
public static class SystemBaseExt
|
||||
{
|
||||
public static string FormatCoin(this int self)
|
||||
{
|
||||
return FormatCoin((long)self);
|
||||
}
|
||||
|
||||
public static string FormatCoin(this long self)
|
||||
{
|
||||
double size = self;
|
||||
string[] units = new string[] { "B", "K", "M", "G", "T", "P" };
|
||||
double mod = 1000;
|
||||
int i = 0;
|
||||
while (size >= mod)
|
||||
{
|
||||
size /= mod;
|
||||
i++;
|
||||
}
|
||||
return Math.Round(size, 2) + units[i];
|
||||
}
|
||||
|
||||
public static string FormatRMB(this int self)
|
||||
{
|
||||
return FormatRMB((long)self);
|
||||
}
|
||||
|
||||
public static string FormatRMB(this long self)
|
||||
{
|
||||
double value = self;
|
||||
if (value < 1000d)
|
||||
{
|
||||
return value.ToString("f0");// + "$";
|
||||
}
|
||||
if (value < 10000d)
|
||||
{
|
||||
value /= 1000d;
|
||||
var str = value.ToString("0.##");
|
||||
return str + "千";
|
||||
}
|
||||
|
||||
if (value < 100000000d)//1w-1e显示为0.n万
|
||||
{
|
||||
value /= 10000d;
|
||||
var str = value.ToString("0.##");
|
||||
return str + "万";
|
||||
}
|
||||
|
||||
if (value < 1000000000000d)//1e-1m显示为0.n亿
|
||||
{
|
||||
value /= 100000000d;
|
||||
var str = value.ToString("0.##");
|
||||
return str + "亿";
|
||||
}
|
||||
|
||||
if (value < 10000000000000000d)//1m-1g显示为0.n兆
|
||||
{
|
||||
value /= 1000000000000d;
|
||||
var str = value.ToString("0.##");
|
||||
return str + "兆";
|
||||
}
|
||||
|
||||
if (value < 100000000000000000000d)//1g-1t显示为0.n京
|
||||
{
|
||||
value /= 10000000000000000d;
|
||||
var str = value.ToString("0.##");
|
||||
return str + "京";
|
||||
}
|
||||
|
||||
{
|
||||
value /= 100000000000000000000d;
|
||||
var str = value.ToString("0.##");
|
||||
return str + "稊";
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user