/// <summary>
/// Get the integral and floating point portions of a Double
/// as separate integer values, where the floating point value is
/// raised to the specified power of ten, given by 'places'.
/// </summary>
public static void Split(Double value, Int32 places, out Int32 left, out Int32 right)
{
left = (Int32)Math.Truncate(value);
right = (Int32)((value - left) * Math.Pow(10, places));
}
public static void Split(Double value, out Int32 left, out Int32 right)
{
Split(value, 1, out left, out right);
}
Usage:
Int32 left, right;
Split(10.50, out left, out right);
// left == 10
// right == 5
Split(10.50, 2, out left, out right);
// left == 10
// right == 50
Split(10.50, 5, out left, out right);
// left == 10
// right == 50000
Fornito maggiori informazioni, mi dispiace per non essere chiaro. –
Hai davvero bisogno che sia in due o hai solo bisogno dei valori come testo, con una virgola che li separa? Perché forse dovresti usare una soluzione basata sulla cultura invece del 'string.Split 'che la maggior parte delle persone suggerisce ... –
Sì, ne ho bisogno in due interi senza la virgola. –