I am learning React Native and I am creating a simple application that performs the solutions of the quadratic formula.
The problem is at the moment when I capture the numbers in TextInput using the "onChangeText" prop. The react-native documentation says that the "onChangeText" prop returns a simple string value. That being said, I tried to convert the value of "onChangeText" to int using the parseInt () and Number () functions, but nothing worked and the result is always NaN.
Does anyone know how to convert the value of a TextInput to int?
const App = () => {
var _a;
var _b;
var _c;
var res1;
var res2;
const result = () => {
Number(_a);
Number(_b);
Number(_c);
res1 = -1 * b + Math.sqrt(Math.pow(b, 2) - (4 * a * c)) / (2 * a);
res2 = -1 * b + Math.sqrt(Math.pow(b, 2) - (4 * a * c)) / (2 * a);
}
return (
<>
<ImageBackground source={image} style={styles.img}>
<ScrollView>
<View style={styles.title}>
<Text style={styles.title_text}>
Formula General
</Text>
</View>
<View style={{marginTop: 10}}>
<View style={styles.container}>
<Text style={styles.text}>
Introduce el valor de A:
</Text>
<TextInput style={styles.textinput} placeholder='ej. 10' onChangeText={(val) => a_=val}></TextInput>
</View>
<View style={styles.container}>
<Text style={styles.text}>
Introduce el valor de B:
</Text>
<TextInput style={styles.textinput} placeholder='ej. 3' onChangeText={(val) => b_ = val}></TextInput>
</View>
<View style={styles.container}>
<Text style={styles.text}>
Introduce el valor de C:
</Text>
<TextInput style={styles.textinput} placeholder='ej. 3' onChangeText={(val) => c_set=val}></TextInput>
<TouchableOpacity style={{backgroundColor:'#07057E', marginTop: 95, width: 100, marginLeft:0, position: 'absolute', paddingLeft: 20, paddingBottom:20, paddingRight: 20, paddingTop: 10}} onPress={operacion}>
<Text style={{color:'#fff', fontWeight:'bold', fontSize:11}}>Hacer Operacion</Text>
</TouchableOpacity>
</View>
</View>
<View style={{alignItems: 'flex-start', flexDirection:'column', justifyContent:'flex-start', position: 'absolute'}}>
<View style={styles.result}>
<Text style={styles.text}>
Resultado:
</Text>
<Text style={styles.res}>
Solucion 1: {res1}{'\n'}{'\n'}{'\n'}{'\n'}{'\n'}
Solucion 2: {res2}
</Text>
</View>
</View>
</ScrollView>
</ImageBackground>
</>
);
};