Hello there,
I am a beginner, and i am trying to make my first app for mobile with unity: a basic calculator.
- I am getting the input value of a
number, which i store in a List of
integers. - Each time a new digit is entered or
removed, i display the number in a
gameObject button with a text. - Before it is displayed, i convert to
an int and format it with commas so
that it is more readable.
Problem: with big numbers (over 10 digits i believe), these 2 last functions seem to fail because value is too large.
I don’t know about a function that would allow me to bypass this limitation, and was hoping that some of you add a better knowledge at this than me !
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using UnityEngine.UI;
public class NumberBox : MonoBehaviour {
public Text textDisplayNumber;
int convertedNumber;
public List<int> numberListRaw = new List<int>();
void Update () {
CollectingNumberInput ();
}
void CollectingNumberInput(){
if (Input.GetKeyDown(KeyCode.Keypad1)){
numberListRaw.Add (1);
DisplayNumber ();
}
if (Input.GetKeyDown(KeyCode.Keypad2)){
numberListRaw.Add (2);
DisplayNumber ();
}
if (Input.GetKeyDown(KeyCode.Keypad3)){
numberListRaw.Add (3);
DisplayNumber ();
}
if (Input.GetKeyDown(KeyCode.Backspace)){
numberListRaw.RemoveAt (numberListRaw.Count - 1);
DisplayNumber ();
}
}
void DisplayNumber(){
textDisplayNumber.text = "";
for (int i = 0; i< numberListRaw.Count; i++){
textDisplayNumber.text += numberListRaw *;*
-
}* -
convertedNumber = Int32.Parse (textDisplayNumber.text);* -
textDisplayNumber.text = String.Format("{0:n0}", convertedNumber);* - }*
}
That works, thanks ! With this, i am getting int numbers up to 19 digits. I am willing this app to be played on Iphone, so does it mean that i am going to be dependent on whether IOS is 32 or 64 bits for it to work ?
– yoannG