c货币转数字
1. Excel 怎样用公式把货币转化成数值用
一、用公式将文本数字转成数值:
假设文本数据写在A1单元格,则可以在B1单元格写入以下任一个公式
公式一
=A1*1
公式二
=A1、1
公式三
=A1+0
公式四
=A1-0
公式五
=--A1
公式六
=VALUE(A1)
二、把文本数值在原单元格直接转换成数值:
方法一
选中单元格----右键----设置单元格格式---改"文本"为"常规"格式---再进入单元格回车确认.如果是大批量的单元格是文本格式的数值,则要一个一个的进入单元格进行回车确认,所以很不方便.
方法二
选中一个空单元格----右键----复制----再选中文本格式所在的单元格和单元格区域----右键----选择性粘贴---加---确定.这样就是通过运算的方法使选中的单元格或单元格区域进行加0处理使其转为常规数字的方式.
方法三
选中文本格式数值所在的单元格或单元格区域------在选中的单元格或单元格区域旁会出现一个选项图标----点击会出现选项菜单----选择"转为数字"
2. 用C语言编程:将一个以分为单位的币值数转换成以元为单位的币值数,用字符串形式输出
楼主,作业最好自己做。。这不是个复杂的问题,属于C语言入门的基础
毕竞以后工资要自己领,孩子要自己造,生活要自己过啊。。
50分=0.5元
5分=0.05元
除100,设置好浮点数的输出格式就可以了。
3. c语言 货币计算
以前我写过这个问题的程序(四舍五入) 核心程序如下:
double i,j ;
//i为要处理的数值 j为经过四舍五入处理后的值
i=i*100;
//因为保留两位小数 所以扩大100倍 例如i=1.234567 则扩大后为 i=123.456700
j=i+0.5;
//这两个语句是为下面这个语句服务的 经过这这句处理就能实现对小数后一位的四舍五入 此时j=123.956700
j=(int)(i); //取整后 完成四舍五入 j=123.000000
j=j/100; //完成 j=1.230000
这是核心处理过程 最后只显示小数点后面两位 很容易了 不用我写了 哈哈 谢谢我吧
还有那个精度问题 long double 是10B 应该满足你的要求 如果不行的话用经典的高精度处理方法来解决
就是定义两个double变量(如:double high,low;)
假设你需要一个16个字节大小的数,但一个double明显是无法满足你的,这时你可以把这个数分成高8个字节和低8个字节,分别装入上面的high和low中,这样就OK了.
4. 货币转换c语言编程
#include<stdio.h>
int main()
{
int x;
printf("which currency do u want to convert?\n");
printf("1:Japanese Yen\n");
printf("2:British Pound:enter 2\n");
printf("3:Euro:enter 3\n");
printf("4:American Dollar:enter 4\n");
printf("5:Canadian Dollar:enter 5\n");
printf("6:Australian Dollar:enter 6\n");
scanf("%d",&x);
switch(x)
{
case 1: printf("13.4126");break;
case 2: printf("0.10009");break;
case 3: printf("0.230693");break;
case 4: printf("0.146364");break;
case 5: printf("0.150878");break;
case 6: printf("0.172603");break;
default : printf("error");
}
}
5. C语言将一串数字字符12345678变成货币形式$12,345,678
办法很多,提供一个比较低级的。注意原字串空间要大到能放下修改后的字串。
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"string.h"
intmain(void){
chara[20]="12345678",t[20],ln;
for(ln=strlen(a)-3;ln>0;ln-=3){
strcpy(a+ln+1,strcpy(t,a+ln));
a[ln]=',';
}
strcpy(a+1,strcpy(t,a));
*a='$';
printf("%s ",a);
return0;
}
6. 如何制定Decimal的精度
格式说明符名称说明C 或 c货币数字转换为表示货币金额的字符串。转换由用于格式化数字的 NumberFormatInfo 对象的货币格式信息控制。精度说明符指示所需的小数位数。如果省略精度说明符,则使用 NumberFormatInfo 给定的默认货币精度。
D 或 d十进制数只有整型才支持此格式。数字转换为十进制数字 (0-9) 的字符串,如果数字为负,则前面加负号。精度说明符指示结果字符串中所需的最少数字个数。如果需要的话,则用零填充该数字的左侧,以产生精度说明符给定的数字个数。
E 或 e科学计数法(指数)
数字转换为-d.dddE+ddd或-d.ddde+ddd形式的字符串,其中每个d表示一个数字 (0-9)。如果该数字为负,则该字符串以减号开头。小数点前总有一个数字。精度说明符指示小数点后所需的位数。如果省略精度说明符,则使用默认值,即小数点后六位数字。格式说明符的大小写指示在指数前加前缀E还是e。指数总是由正号或负号以及最少三位数字组成。如果需要,用零填充指数以满足最少三位数字的要求。
F 或 f固定点数字转换为-ddd.ddd形式的字符串,其中每个d表示一个数字 (0-9)。如果该数字为负,则该字符串以减号开头。精度说明符指示所需的小数位数。如果忽略精度说明符,则使用 NumberFormatInfo 给定的默认数值精度。
G 或 g常规根据数字类型以及是否存在精度说明符,数字会转换为固定点或科学记数法的最紧凑形式。如果精度说明符被省略或为零,则数字的类型决定默认精度,如下表所示。
Byte 或 SByte:3
Int16 或 UInt16:5
Int32 或 UInt32:10
Int64 或 UInt64:19Single:7Double:15Decimal:29
如果用科学记数法表示数字时指数大于 -5 而且小于精度说明符,则使用固定点表示法;否则使用科学记数法。如果要求有小数点,并且忽略尾部零,则结果包含小数点。如果精度说明符存在,并且结果的有效数字位数超过指定精度,则通过舍入删除多余的尾部数字。使用科学记数法时,如果格式说明符是G,结果的指数带前缀E;如果格式说明符是g,结果的指数带前缀e。
上述规则有一个例外:如果数字是 Decimal 而且省略精度说明符时。在这种情况下总使用固定点表示法并保留尾部零。
N 或 n数字数字转换为-d,ddd,ddd.ddd形式的字符串,其中每个d表示一个数字 (0-9)。如果该数字为负,则该字符串以减号开头。小数点左边每三个数字之间插入一个千位分隔符。精度说明符指示所需的小数位数。如果忽略精度说明符,则使用 NumberFormatInfo 给定的默认数值精度。
P 或 p百分比数字转换为由 NumberFormatInfo.PercentNegativePattern 属性或 NumberFormatInfo.PercentPositivePattern 属性定义的、表示百分比的字符串。如果数字为负,则产生的字符串由 PercentNegativePattern 定义并以负号开头。已转换的数字乘以 100 以表示为百分比。精度说明符指示所需的小数位数。如果省略精度说明符,则使用 NumberFormatInfo 给定的默认数值精度。
R 或 r往返过程往返过程说明符保证转换为字符串的数值再次被分析为相同的数值。使用此说明符格式化数值时,首先使用常规格式对其进行测试:Double 使用 15 位精度,Single 使用 7 位精度。如果此值被成功地分析回相同的数值,则使用常规格式说明符对其进行格式化。但是,如果此值未被成功地分析为相同数值,则它这样格式化:Double 使用 17 位精度,Single 使用 9 位精度。虽然精度说明符可以追加到往返过程格式说明符,但它将被忽略。使用此说明符时,往返过程优先于精度。此格式仅受浮点型支持。
X 或 x十六进制数数字转换为十六进制数字的字符串。格式说明符的大小写指示对大于 9 的十六进制数字使用大写字符还是小写字符。例如,使用X产生ABCDEF,使用x产生abcdef。精度说明符指示结果字符串中所需的最少数字个数。如果需要的话,则用零填充该数字的左侧,以产生精度说明符给定的数字个数。只有整型才支持此格式。
2、使用System.Math.Round函数可以指定小数位数。
7. C语言 货币兑换 问题
应是对的
#include <stdio.h>
int main(void)
{
int i,j,k,count=0;
for(i=0;i<=100/5;i++){
for(j=0;j<=(100-i*5)/2;j++)
for(k=0;k<=(100-i*5-j*2);k++)
if((5*i+2*j+k)==100)
printf("%d...5*%d+2*%d+1*%d\n",++count,i,j,k);
}
getchar();
}
8. C#string的格式化货币Format()方法
C# Format()方法参数由零或多个文本序列与零或多个索引占位符混合组成,其中索引占位符称为格式项,对应于与此方法的参数
列表中的对象。
public static string Format( string format, Object arg0 )
把指定字符串中一个或多个格式项替换为指定对象的字符串表示形式。
string.Format("{0:C0}",8)
string关键字,Format()调用方法,C货币,C0是小数位,8值。
C 或 c
货币
数字转换为表示货币金额的字符串。转换由当前 NumberFormatInfo 对象的货币格式信息控制。
精度说明符指示所需的小数位数。如果省略精度说明符,则使用当前 NumberFormatInfo 对象给定的默认货币精度。
Talk is cheap, show me the code. 空谈误国,实干兴邦,下面就是案例。
使用string设计3个字符变量CjY、Cj、Cj0,把Format()方法格式化好的变量赋值给前面设计好的三个字符串变量。C0、C1、C2,是小数位。
0:c0、0:c1、0:c2,保留小数为是不一样的 8.0、$8.00。
9. c输入一个整数,并以货币格式输出
其实不难的嘛,程序如下:
#include <stdio.h>
#include <string.h>
#define N 100
int main(void)
{
char a[N]={0},b[N]={0};
int len,cnt,i,j;
printf("请输入一个整数:");
scanf("%s",a);
b[0]='$';
len=strlen(a);
cnt=len%3;
for(i=0,j=1;i<len;i++)
{
if(cnt==0)
{
b[j++]=',';
cnt=3;
}
b[j++]=a[i];
cnt--;
}
printf("货币格式为:%s\n",b);
}
10. C语言的问题.货币兑换问题:要求:把一元人民币换成零币(5角,2角,1角,5分,2分,1分)问有多少中兑换方法
/*把一元人民币换成零币(5角,2角,1角,5分,2分,1分)问有多少中兑换方法*/
#include<stdio.h>
void main()
{
int j5,j2,j1,f5,f2,f1;
float sum=0.0;
for(j5=0;j5<=2;j5++)
for(j2=0;j2<=5;j2++)
for(j1=0;j1<=10;j1++)
for(f5=0;f5<=20;f5++)
for(f2=0;f2<=50;f2++)
for(f1=0;f1<=100;f1++)
{
if(j5*50+j2*20+j1*10+f5*5+f2*2+f1==100)/*j5个5角,j2个2角,。。。f1个1分如果和能等于100,则为一种兑换方法*/
sum++;
}
printf("sum=%.f",sum);/*输出能够兑换的总方法数*/
}
sum=4562
兑换的几种方案如下:
0*50+0*20+0*10+0*5+0*2+100=100
0*50+0*20+0*10+0*5+1*2+98=100
0*50+0*20+0*10+0*5+2*2+96=100
0*50+0*20+0*10+0*5+3*2+94=100
0*50+0*20+0*10+0*5+4*2+92=100
0*50+0*20+0*10+0*5+5*2+90=100
0*50+0*20+0*10+0*5+6*2+88=100
.............................
.............................
2*50+0*20+0*10+0*5+0*2+100=100