Господа, помогите понять)
Почему '100' == '100.00' //true
а '100' == '100,00' //false
Ведь в обоих случаях, все операнды будут приведены к типу int и везде будет 100
Сергей Жуков: int делает жесткое приведение, отбрасывая всё, что идёт начиная с первого нечислового символа. Можно сделать (int) '100ы00' - он тоже 100 выдаст. Но автоматически числом всё равно не распознает
Александр: как он отбрасывает я помню :) А вот то, что он автоматически повел себя по другому из-за того, что первым была строка ('100'), было бы числа, было бы true)
Все, разобрался, из-за того, что '100' первый, он во втором случа сравнивает как строки. И как строки не равны, стоит только первым сделать 100 == '100,00', числа. Будет true