Here you can find the source of toNumber(Object object, Number defaultValue)
public static Number toNumber(Object object, Number defaultValue)
//package com.java2s; /********************************************************************************************** * * Asprise Scanning and Imaging API//from ww w . ja va2 s .c o m * Copyright (C) 1998-2016. Asprise Inc. <asprise.com> * * This file is licensed under the GNU Affero General Public License version 3 as published by * the Free Software Foundation. * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language governing permissions * and limitations under the License. * * You should have received a copy of the GNU Affero General Public License. If not, please * visit <http://www.gnu.org/licenses/agpl-3.0.html>. * **********************************************************************************************/ public class Main { public static Number toNumber(Object object, Number defaultValue) { if (object == null) { return defaultValue; } if (object instanceof Number) { return (Number) object; } String s = object.toString(); s = s.replaceAll("\\.0*$", ""); try { if (s.contains(".")) { return Double.parseDouble(s); } else { return Integer.parseInt(s); } } catch (NumberFormatException e) { return defaultValue; } } }