UTILITY.C
上传用户:bjghjy
上传日期:2007-01-07
资源大小:379k
文件大小:1k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. int StringComp(LPSTR lpstr1, LPSTR lpstr2)
  2. {
  3. int len;
  4. if(*lpstr1 =='-' && *lpstr2 !='-') return -1;
  5. if(*lpstr1 !='-' && *lpstr2 =='-') return 1;
  6. len =strlen(lpstr1) -strlen(lpstr2);
  7. if(*lpstr1 =='-' && *lpstr2 =='-')
  8. {
  9. if(len) return 0-len;
  10. return (0-strcmp(lpstr1, lpstr2));
  11. }
  12. else
  13. {
  14.     if(len) return len;
  15. return strcmp(lpstr1, lpstr2);
  16. }
  17. }
  18. int StringSub(LPSTR lpstr1, LPSTR lpstr2, LPSTR lpres, int s_type)
  19. {
  20. int n;
  21. double f, f1,f2;
  22. long l;
  23. switch(s_type)
  24. {
  25. case SSUB_FLOAT:
  26. f =atof(lpstr1)-atof(lpstr2);
  27. sprintf(lpres, "%.2f", (float)f);
  28. break;
  29. case SSUB_FLOAT100:
  30. f1 =atof(lpstr1);
  31. f2 =atof(lpstr2);
  32. f =f1-f2;
  33. if(f2 ==.0 || f1 ==.0)
  34. {
  35. strcpy(lpres, "-.-");
  36. break;
  37. }
  38. sprintf(lpres, "%.2f", (float)(f*100/f2));
  39. break;
  40. case SSUB_INT:
  41. n =atoi(lpstr1)-atoi(lpstr2);
  42. sprintf(lpres, "%d", n);
  43. break;
  44. case SSUB_LONG:
  45. l =atol(lpstr1)-atol(lpstr2);
  46. sprintf(lpres, "%ld", l);
  47. break;
  48. default:
  49. return -1;
  50. }
  51. return 0;
  52. }