Drupal commerce price field settings?
'300,000' isn't a number, it's a string. If you run

print (int) '300,000';


You'll get "300" as the response. '300.00' is a number, which is why it's treated as one.

So your issue isn't with Drupal Commerce, rather PHP and your users' input.

You'll need to implement some validation to correct your users' input before Commerce uses it. You can either do this by adding an extra validation function to the form using hook_form_alter(), or with some simple Javascript attached to the input box(es).