小数点左边第二位是十位,它的计数单位是10。
小数,是实数的一种特殊的表现形式。所有分数都可以表示成小数,小数中的圆点叫做小数点,它是一个小数的整数部分和小数部分的分界号。其中整数部分是零的小数叫做纯小数,整数部分不是零的小数叫做带小数。
性质:
在小数部分的末尾添上或去掉任意个零,小数的大小不变。例如:04=0400,0060=006。
把小数点分别向右(或向左)移动n位,则小数的值将会扩大(或缩小)基底的n次方倍。
扩展资料小数分类:
有限小数:
小数部分后有有限个数位的小数。如31465,0364,83218798456等,有限小数都属于有理数,可以化成分数形式。
一个最简分数可以被化作十进制的有限小数当且仅当其分母只含有质因数2或5或两者。 类似的,一个最简分数可以被化作某正整数底数的有限小数当且仅当其分母之质因数为此基底质因数的子集。
无限小数循环小数:
从小数部分的某一位起,一个数字或几个数字,依次不断地重复出现的小数叫做循环小数。如 1/7=0142857142857142857……,11/6=1833333……等。循环小数亦属于有理数,可以化成分数形式。
无限不循环小数:
小数部分有无限多个数字,且没有依次不断地重复出现的一个数字或几个数字的小数叫做无限不循环小数,如圆周率π=314159265358979323……,自然对数的底数e=271828182845904……。无限不循环小数也就是无理数,不能化成分数形式。
本题的一个完整的c程序如下,程序在win-tc和Dev-c++下都调试通过。
#include<stdioh>
int main()
{
char str[200];
int i=0,n=0;
printf("Please input a line:");
gets(str);
while(str[i]!='\0')
{
if ((str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')&&(str[i+1]==' '||str[i+1]=='\0'||str[i+1]==','||str[i+1]==''||str[i+1]==''||str[i+1]=='!'))
n++;
i++;
}
printf("There are :%d words\n",n);
system("pause");
return 0;
}
import javaxswing;
import javaawt;
import javaawtevent;
public class Calculator extends JFrame implements ActionListener{
private static final long serialVersionUID = 8199443193151152362L;
private JButton bto_s=new JButton("sqrt"),bto_zf=new JButton("+/-"),bto_ce=new JButton("CE"),bto_c=new JButton("C"),bto_7=new JButton("7"),
bto_8=new JButton("8"),bto_9=new JButton("9"),bto_chu=new JButton("/"),bto_4=new JButton("4"),bto_5=new JButton("5"),
bto_6=new JButton("6"),bto_cheng=new JButton(""),bto_1=new JButton("1"),bto_2=new JButton("2"),bto_3=new JButton("3"),
bto_jian=new JButton("-"),bto_0=new JButton("0"),bto_dian=new JButton(""),bto_deng=new JButton("="),bto_jia=new JButton("+");
JButton button[]={bto_s,bto_zf,bto_ce,bto_c,bto_7,bto_8,bto_9,bto_chu,bto_4,bto_5,bto_6,bto_cheng,bto_1,bto_2,bto_3,bto_jian,
bto_0,bto_dian,bto_deng,bto_jia};
private JTextField text_double;// = new JTextField("0");
private String operator = "="; //当前运算的运算符
private boolean firstDigit = true; // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字
private double resultNum = 00; // 计算的中间结果
private boolean operateValidFlag = true; //判断 *** 作是否合法
public Calculator()
{
super("Calculator");
thissetBounds(300, 300, 300, 300);
thissetResizable(false);
thissetBackground(Colororange);
thissetDefaultCloseOperation(EXIT_ON_CLOSE);
thisgetContentPane()setLayout(new BorderLayout());//设置布局
text_double=new JTextField("0",20);//设置文本区
text_doublesetHorizontalAlignment(JTextFieldRIGHT);//设置水平对齐方式未右对齐
thisgetContentPane()add(text_double,BorderLayoutNORTH);//将文本区添加到Content北部
JPanel panel=new JPanel(new GridLayout(5,4));//在内容窗口添加一个网格布局
thisgetContentPane()add(panel);//添加panel面板
for(int i=0;i<buttonlength;i++)//在面板上添加按钮
paneladd(button[i]);
for(int i=0;i<buttonlength;i++)
button[i]addActionListener(this);//为按钮注册
text_doublesetEditable(false);//文本框不可编辑
text_doubleaddActionListener(this);//
thissetVisible(true);
}
public void actionPerformed(ActionEvent e)//
{
String c= egetActionCommand();//返回与此动作相关的命令字符串。
Systemoutprintln("##########command is "+c);
if(cequals("C")){
handleC(); //用户按了“C”键
}
else if (cequals("CE")) // 用户按了"CE"键
{
text_doublesetText("0");
}
else if ("0123456789"indexOf(c) >= 0) // 用户按了数字键或者小数点键
{
handleNumber(c); // handlezero(zero);
} else //用户按了运算符键
{
handleOperator(c);
}
}
private void handleC() // 初始化计算器的各种值
{
text_doublesetText("0");
firstDigit = true;
operator = "=";
}
private void handleNumber(String button) {
if (firstDigit)//输入的第一个数字
{
text_doublesetText(button);
} else if ((buttonequals("")) && (text_doublegetText()indexOf("") < 0))//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面
//如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1
{
text_doublesetText(text_doublegetText() + "");
} else if (!buttonequals(""))// 如果输入的不是小数点,则将数字附在结果文本框的后面
{
text_doublesetText(text_doublegetText() + button);
}
// 以后输入的肯定不是第一个数字了
firstDigit = false;
}
private void handleOperator(String button) {
if (operatorequals("/")) {
// 除法运算
// 如果当前结果文本框中的值等于0
if (getNumberFromText() == 00){
// *** 作不合法
operateValidFlag = false;
text_doublesetText("除数不能为零");
} else {
resultNum /= getNumberFromText();
}
} else if (operatorequals("+")){
// 加法运算
resultNum += getNumberFromText();
} else if (operatorequals("-")){
// 减法运算
resultNum -= getNumberFromText();
} else if (operatorequals("")){
// 乘法运算
resultNum = getNumberFromText();
} else if (operatorequals("sqrt")) {
// 平方根运算
if(getNumberFromText()<0){
operateValidFlag = false;
text_doublesetText("被开方数不能为负数");}
else
resultNum = Mathsqrt(resultNum);
}
else if (operatorequals("+/-")){
// 正数负数运算
resultNum = resultNum (-1);
} else if (operatorequals("=")){
// 赋值运算
resultNum = getNumberFromText();
}
if (operateValidFlag) {
// 双精度浮点数的运算
long t1;
double t2;
t1 = (long) resultNum;
t2 = resultNum - t1;
if (t2 == 0) {
text_doublesetText(StringvalueOf(t1));
} else {
text_doublesetText(StringvalueOf(resultNum));
}
}
operator = button; //运算符等于用户按的按钮
firstDigit = true;
operateValidFlag = true;
}
private double getNumberFromText() //从结果的文本框获取数字
{
double result = 0;
try {
result = DoublevalueOf(text_doublegetText())doubleValue(); // ValueOf()返回表示指定的 double 值的 Double 实例
} catch (NumberFormatException e){
}
return result;
}
public static void main(final String[] args) {
new Calculator();
}
}
呵呵!!这个我喜欢!!
我认为总是做书上的题目对自己学习C语言是没多大的帮助的!很多教材上的题目都是一先计算数学上的东西!虽然能练习我们的算法技能,但这并不能真正的提高我们编程的技能(个人认为),我们要学着去编一些有用点的程序,像你说的那样!哪怕是个小游戏呀,对吧!从编程这些小游戏中,我们可以巩固我们的基础知识!何乐而不为呢,对吧?我是个初学者,平时也爱编些小程序做玩:
我来分享一下我做的一个:十进制转其它进制的小工具(希望高手见了不要见笑,当路过!!!)
/这个程序的功能是把一个用户输入的
十进制转化为二进制、八进制、十六进制后输出
/
#include <stdioh>
#include <conioh>
void binary(long); /声明转二进制函数/
void octonary(long); /声明转八进制函数/
void hexadecimal(long); /声明转十六进制函数/
void print_result(long);/输出结果 /
void domain(void); /程序主要功能 /
int main()
{
(void)domain();
system("cls");
printf("\n\n\n\t\t谢谢使用\n");
getch();
return 0;
}
/输出二进制/
void binary(long dec_num)
{
int digit=0; /记录二进制得位数/
int dig_num; /二进制每位上的数/
long temp; /用于暂存原数 /
int i;
temp = dec_num;
while(temp > 0) /获得二进制位数/
{
++digit;
temp /=2;
}
--digit;
while(digit >= 0)
{
temp = dec_num;
for(i = digit; i > 0 ; --i)
temp /=2;
--digit;
dig_num = temp % 2;
printf("%d",dig_num);
}
}
/输出八进制/
void octonary(long dec_num)
{
int digit=0; /记录八进制得位数/
int dig_num; /八进制每位上的数/
long temp; /用于暂存原数 /
int i;
temp = dec_num;
while(temp > 0) /获得八进制位数/
{
++digit;
temp /=8;
}
--digit;
while(digit >= 0)
{
temp = dec_num;
for(i = digit; i > 0 ; --i)
temp /=8;
--digit;
dig_num = temp % 8;
printf("%d",dig_num);
}
}
/输出十六进制/
void hexadecimal(long dec_num)
{
int digit=0; /记录十六进制得位数/
int dig_num; /十六进制每位上的数/
long temp; /用于暂存原数 /
int i;
temp = dec_num;
while(temp > 0) /获得十六进制位数/
{
++digit;
temp /=16;
}
--digit;
while(digit >= 0)
{
temp = dec_num;
for(i = digit; i > 0 ; --i)
temp /=16;
--digit;
dig_num = temp % 16;
if(dig_num < 10)
printf("%d",dig_num);
else if(dig_num == 10) /如果位数上的值大于9,则分别输出ABCDEF/
printf("A");
else if(dig_num == 11)
printf("B");
else if(dig_num == 12)
printf("C");
else if(dig_num == 13)
printf("D");
else if(dig_num == 14)
printf("E");
else if(dig_num == 15)
printf("F");
}
}
/输出结果/
void print_result(long dec_num)
{
system("cls");
printf("==十进制转其它进制小工具====WW()制作 QQ:502138743==\n\n");
printf("============你输入的数是%ld转换结果如下============\n\n",dec_num);
printf("----------------------------------------------------\n");
printf("转二进制 :>>");
(void)binary(dec_num);
printf("\n----------------------------------------------------\n");
printf("转八进制 :>>");
(void)octonary(dec_num);
printf("\n----------------------------------------------------\n");
printf("转十六进制:>>");
(void)hexadecimal(dec_num);
printf("\n----------------------------------------------------\n");
printf("\n按任意键继续\n");
getch();
}
/主功能函数/
void domain(void)
{
long dec_num; /输入的十进制数/
char y_or_n; /是否要退出/
do
{
system("cls");
printf("====十进制转其它进制小工具====WW()制作 QQ:502138743====\n\n");
printf("\n\t_______________________\n");
printf("\t|请输入要转的十进制数>>");
scanf("%ld",&dec_num);
(void)print_result(dec_num);
do
{
system("cls");
printf("\n\n\n\t你还想要转其它的数吗?y/n>>");
scanf(" %c",&y_or_n);
if(y_or_n == 'y' || y_or_n == 'Y' || y_or_n == 'n' || y_or_n == 'N')
break;
system("cls");
printf("\n\n\t\t您必须输入y或n,按任意键继续\n");
getch();
}while(1);
}while(y_or_n == 'y' || y_or_n == 'Y');
}
百度把我的程序缩进都改了!!真气!!!
你这行
String xi = ISBNsubstring(11,12);
要的是第12和第13位的数字,但是你只输入了12位~ Java里第一个位置是从0开始的。所以12代表的是第13个位子。
我建议你再仔细看一些那串处理数字的substring。如果你输入只有12个数字,不能有12出现在你的substring里的,最多11
以上就是关于小数点左边第二位是什么位,它的计数单位是什么全部的内容,包括:小数点左边第二位是什么位,它的计数单位是什么、一个简单的统计一句话里有多少个单词的小程序,请教、java:编写一个计算器小程序,要求可以做加减乘除运算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)