i18n_atof.c
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:2k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * i18n_atof.c: Test for us_atof
  3.  *****************************************************************************
  4.  * Copyright (C) 2006 Rémi Denis-Courmont
  5.  * $Id: 1e75bf78a24ea544d4a812ca68a9058a91adf16a $
  6.  *
  7.  * This program is free software; you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License as published by
  9.  * the Free Software Foundation; either version 2 of the License, or
  10.  * (at your option) any later version.
  11.  *
  12.  * This program is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.  * GNU General Public License for more details.
  16.  *
  17.  * You should have received a copy of the GNU General Public License
  18.  * along with this program; if not, write to the Free Software
  19.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  20.  *****************************************************************************/
  21. #ifdef HAVE_CONFIG_H
  22. # include "config.h"
  23. #endif
  24. #include <vlc_common.h>
  25. #include "vlc_charset.h"
  26. #undef NDEBUG
  27. #include <assert.h>
  28. int main (void)
  29. {
  30.     const char dot9[] = "999999.999999";
  31.     const char comma9[] = "999999,999999";
  32.     const char sharp9[] = "999999#999999";
  33.     char *end;
  34.     assert (us_atof("0") == 0.);
  35.     assert (us_atof("1") == 1.);
  36.     assert (us_atof("1.") == 1.);
  37.     assert (us_atof("1,") == 1.);
  38.     assert (us_atof("1#") == 1.);
  39.     assert (us_atof(dot9) == 999999.999999);
  40.     assert (us_atof(comma9) == 999999.);
  41.     assert (us_atof(sharp9) == 999999.);
  42.     assert (us_atof("invalid") == 0.);
  43.     assert ((us_strtod(dot9, &end ) == 999999.999999)
  44.             && (*end == ''));
  45.     assert ((us_strtod(comma9, &end ) == 999999.)
  46.             && (*end == ','));
  47.     assert ((us_strtod(sharp9, &end ) == 999999.)
  48.             && (*end == '#'));
  49.     return 0;
  50. }