====== Πως μπορώ να έχω πάντα ένα αληθές αποτέλεσμα ως 1 αντί για οποιαδήποτε άλλη μη-μηδενική τιμή ====== Κάθε μη-μηδενική τιμή, όταν αντιμετωπίζεται στα πλαίσια ενός λογικού (boolean) ελέγχου, αντιστοιχεί/ισοδυναμεί με αληθές (''true''). Εάν όμως γράψουμε μια απλή αριθμητική σύγκριση με το true, τότε αυτή αποτυγχάνει αφού η σύγκριση γίνεται σε αριθμητικό επίπεδο, έτσι εάν το αληθές μη-μηδενικό αποτέλεσμα ήταν 4, τότε η σύγκριση: nonZeroResult == true ουσιαστικά ελέγχεται ως 4 == 1 και κατά συνέπεια αποτυγχάνει. Ενώ η σύγκριση με το ''false'' δίνει πάντα σωστό αποτέλεσμα γιατί μόνο το μηδέν παριστάνει το ψευδές. Υπάρχουν οι εξείς τρόποι να μετατρέψετε με σιγουριά μία άγνωση τιμή (ας πούμε της μεταβλητής ''someValue'') σε boolean. - Με **αποθήκευση** σε μία μεταβλητή τύπου ''bool'' bool boolValue = someValue; - Με **type casting** πάνω στην τιμή (bool)someValue - Με χρήση του **τελεστή not (''!'')** δύο φορές οπότε η 1η μετατρέπει σε ''bool'' αλλά στην αντίθετη τιμή και η 2η επαναφέρει την αλήθεια της τιμής !!someValue Από αυτές τις λύσεις η πιο κομψή είναι η 3η, αλλά επειδή χρησιμοποιείται σπάνια, μπορεί να μπερδεύει κάθε φορά που τη συναντάμε.